คอมพิวเตอร์และอินเตอร์เน็ต,บรรยายวิชาการ,วิจัย,ศึกษากุรอาน,E-Book
วันศุกร์ที่ 21 พฤษภาคม พ.ศ. 2564
หลักการเขียน REST API อย่างง่าย
วันพฤหัสบดีที่ 6 พฤษภาคม พ.ศ. 2564
PHP 8.0.5 and MongDB 4.4.5 Code Snippet
//Connection
$manager=new MongoDB\Driver\Manager("mongodb://root:testtest@localhost:27017");
db='myDB';
$collection='myCollection';
//All Data List
$query=new MongoDB\Driver\Query([]);
$rows=$manager->executeQuery($db.'.'.$collection, $query);
foreach($rows as $row) {
echo $row->_id.' ';
echo $row->fname.' ';
echo $row->lname.' ';
echo "<br>";
}
//DB List
$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$listdatabases = new MongoDB\Driver\Command(["listDatabases" => 1]);
$res = $mng->executeCommand("admin", $listdatabases);
$databases = current($res->toArray());
foreach ($databases->databases as $el) {
echo $el->name . "<br>";
}
//Insert
$fname = "ดาดา";
$lname = "ยะโกะ";
$bulk = new MongoDB\Driver\BulkWrite();
$doc = ['fname' => $fname, 'lname' => $lname];
$bulk->insert($doc);
$result = $manager->executeBulkWrite($db.'.'.$collection, $bulk);
//Filter with multiple Condition
$filter = [ 'office_id' => array('$regex' => '12901001'),
'occu' => array('$regex' => 'LorryDriver'),
'dec_date' => ['$gte' => '2021-01-01']
];
// 'dec_date' => array('$regex' => '2021-01') //เดือนเดียว
$options = [
'projection' => ['_id' => 0],
//'sort' => ['office_id' => -1]
];
$query = new MongoDB\Driver\Query($filter, $options);
$res = $mng->executeQuery($db.'.'.$collection, $query);
$c=0;
foreach ($res as $doc) {
echo $doc->office_id,' ' ,$doc->dec_date,' ',$doc->fullname,'<br>';
$c++;
}
How to Enable Authentication on MongoDB
How to Enable Authentication on MongoDB
วันจันทร์ที่ 3 พฤษภาคม พ.ศ. 2564
Mysql Export to JSON สำหรับนำเข้าใน MongDB
ดังนี้
<?php
date_default_timezone_set('Asia/Bangkok');
$today=date("Y-m-d_His");
include('../../db_inc.php');
ini_set('display_errors',0); //ปิดแสดง notice
ini_set('memory_limit', '-1'); //ปิดจำกัด memory
ini_set('max_execution_time', '-1'); //ปิดจำกัดเวลาประมวล
set_time_limit(0);
?>
<h3><?= str_repeat(' ', 20);?>The Adi JSON Data Coversion (version 04-05-2564)</h3>
<br>
<?
$sql_tbl = "SHOW TABLES FROM $dbname"; //SHOW Table
$result_tbl = mysql_query($sql_tbl);
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Choose table name
<select name="mytable" >
<option value="" selected> </option>
<?
while ($row_tbl = mysql_fetch_row($result_tbl)) {
echo "<option value='".$row_tbl[0]."'>".$row_tbl[0]."</option>";
}
?>
</select>
<?= str_repeat(' ', 3);?>
<input type="checkbox" name="showonscreen" value="showonscreen">
Show on screen <?= str_repeat(' ', 3);?>
<input type="checkbox" name="createjsonfile" value="createjsonfile">
Create file <?= str_repeat(' ', 3);?>
<input type="submit" name="submit" value="Submit Form">
</form>
<?
mysql_free_result($result_tbl);
////////////////////END FORM//////////////////////////
if(isset($_POST['submit']))
{
//echo "Start data on screen listing...<br><br>";
$mytable = $_POST['mytable'];
$myshow = $_POST['showonscreen'];
$mycreate = $_POST['createjsonfile'];
//echo $myshow; die;
$sql = "SELECT * FROM ".$mytable; //fetch table rows from mysql db
$result = mysql_query($sql);
$num_rows = mysql_num_rows($result);
$emparray = array(); //create an array
while($row =mysql_fetch_assoc($result))
{
$emparray[] = $row;
}
if($myshow=='showonscreen'){ //display on screen when checked
echo "<br>Start data on screen listing...".$num_rows." records<br><br>";
echo json_encode($emparray, JSON_UNESCAPED_UNICODE); // มี JSON_UNESCAPED_UNICODE เพื่อภาษาไทย
echo "<br><br>End of listing...<br>";
}
mysql_free_result($result);
mysql_close($conn);
}
////////////////END FORM SUBMIT////////////////////
if($mycreate=='createjsonfile'){ //create json file when checked //write to json file
$jpath = 'json_exported/'; //create this folder first by manual
$jfile = $jpath.$mytable."_".$today.".json";
$fp = fopen($jfile, 'w');
fwrite($fp, json_encode($emparray, JSON_UNESCAPED_UNICODE)); // มี JSON_UNESCAPED_UNICODE เพื่อภาษาไทย
fclose($fp);
echo "<br>";
echo "<br>";
echo "<div style='position:absolute;left:10px;top:100px;width:500px;height:20px;'>";
echo "<a href='".$jfile."'>Download JSON file by Right Click</a>";
echo "</div>";
}
?>
หมายเหตุ : ทดสอบแล้วโดยนำไฟล์ที่ได้แล้วน้ำเข้าด้วย MongoDB Compass
ใช้ไฟล์ขนาด 400000+ record เร็วมาก ใช้เวลาเพียง 25 วินาทีเท่านั้น...
วันอาทิตย์ที่ 2 พฤษภาคม พ.ศ. 2564
การ Import Data เข้าใน MongoDB
วันเสาร์ที่ 1 พฤษภาคม พ.ศ. 2564
Laragon PHP8-MongDB-nginX