Bismillaahirrohmaanirrohiim…
Sebelum melanjutkan artikel ini, sebaiknya server sudah terinstall mongoDB dan PHP Driver untuk mongoDB juga sudah terinstall dengan benar.
Cara mengetahuinya adalah jika di phpinfo() sudah muncul berarti sudah oke, kalau belum anda harus menginstallnya di sini dan di sini.
<?php //bisa seperti ini //$manager = new MongoDB\Driver\Manager("mongodb://user:password@localhost:27017"); //$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); //$manager = new MongoDB\Driver\Manager("mongodb://127.0.0.1:27017"); $manager = new MongoDB\Driver\Manager(); $bulkWrite = new MongoDB\Driver\BulkWrite; $bulkWrite->insert(['nama' => 'Erlangga', 'umur' => 26, 'status' => 'pria']); $bulkWrite->insert(['nama' => 'Arbi', 'umur' => 31, 'status' => 'pria', 'lahir' => new MongoDB\BSON\UTCDatetime(strtotime('1987-04-02') * 1000)]); $bulkWrite->insert(['nama' => 'Deswita', 'umur' => 25, 'status' => 'wanita']); $manager->executeBulkWrite("databaseAnda.collectionUser", $bulkWrite);
<?php $manager = new MongoDB\Driver\Manager(); $query = new MongoDB\Driver\Query( [] ); $cursor = $manager->executeQuery("databaseAnda.collectionUser", $query); foreach ($cursor as $document) { echo '<pre>'; print_r($document); echo '</pre>'; }
<?php $manager = new MongoDB\Driver\Manager(); $filter = ['umur' => ['$lt' => 26]]; $options = []; $query = new MongoDB\Driver\Query($filter, $options); $cursor = $manager->executeQuery("databaseAnda.collectionUser", $query); //convert cursor menjadi array $cursor->setTypeMap(['root' => 'array', 'document' => 'array', 'array' => 'array']); $cursor = $cursor->toArray(); foreach ($cursor as $document) { //convert id menjadi array $document['_id'] = (array) $document['_id']; echo '<pre>'; print_r($document); echo '</pre>'; }
Jika ingin menambah limit, offset, dan juga sort pada mongo DB, perintahnya sebagai berikut:
$limit = 10; $skip = 5; $options = array('limit'=>$limit,'skip'=>$skip,'sort'=>array('kolomA'=>1, 'kolomB'=>-1)); //limit adalah jumlah data yang ingin ditampilkan. //skip adalah offset, mulai dari index keberapa data ditampilkan. //sort by kolom, nilai 1 = ascending, nilai -1 = descending.
jika ingin filter query not equal atau != dalam SQL
$query = array('namakolom'=>array('$ne'=>null));//namakolom tidak sama dengan null
Jika ingin menghitung jumlah kolom atau perintah count di SQL
$manager = new MongoDB\Driver\Manager(); //query not equal null $query = array('namakolom'=>array('$ne'=>null));//array('namakolom'=>'2020') $command = new MongoDB\Driver\Command(array('count'=>'namatabelorcollection','query'=>$query)); $result = $manager->executeCommand('namadatabase', $command); $count = $result->toArray()[0]->n;
<?php $manager = new MongoDB\Driver\Manager(); //start update $bulkWrite = new MongoDB\Driver\BulkWrite; $bulkWrite->update( ['nama' => 'Deswita'], ['$set' => ['umur' => 30]], ['multi' => true, 'upsert' => false] ); $manager->executeBulkWrite("databaseAnda.collectionUser", $bulkWrite); //update selesai //query utk menampilkan hasilnya $query = new MongoDB\Driver\Query([]); $cursor = $manager->executeQuery("databaseAnda.collectionUser", $query); foreach ($cursor as $document) { echo '<pre>'; print_r($document); echo '</pre>'; }
multi = true
, artinya semua nama “deswita” akan di update. Kalau muti = false
, hanya 1 baris dokumen pertama yang diupdate.upsert = false
, artinya jika tidak ada data yang diupdate maka tidak melakukan update apa-apa. Jika upsert = true
, maka akan menginsert data baru sesuai filter ada.
<?php $manager = new MongoDB\Driver\Manager(); $bulkWrite = new MongoDB\Driver\BulkWrite; $bulkWrite->delete(['nama' => 'Deswita'], ['limit' => true]); $manager->executeBulkWrite("databaseAnda.collectionUser", $bulkWrite); $query = new MongoDB\Driver\Query([]); $cursor = $manager->executeQuery("databaseAnda.collectionUser", $query); foreach ($cursor as $document) { echo '<pre>'; print_r($document); echo '</pre>'; }
limit = true
, artinya hanya menghapus 1 data. jika limit = false
atau 0, maka semua nama “deswita” akan dihapus di collectionUser.
Nah, begitulah operasi CRUD (create, read, update ,delete) mongoDB di PHP 7.2
Semoga bermanfaat.
Bismillaahirrohmaanirrohiim... Untuk mendeteksi cpu usage tinggi memang perkara rumit, adakalanya karena codingan bermasalah, akses ke…
Bismillaahirrohmaanirrohiim... Jika tidak dirawat dan dicek berkala, log mongodb akan semakin membesar. Bahkan sampai menghabiskan…
Bismillaahirrohmaanirrohiim... Jika kita membuat website yang digunakan untuk memantau lokasi HP client, maka kita memerlukan…
Bismillaahirrohmaanirrohiim... Kali ini kita akan mencoba menerapkan rumus trigonometeri dari formula haversine, yang digunakan untuk…
Bismillaahirrohmaanirrohiim... Disini saya akan berbagi pengalaman tentang susahnya membuka tutup botol cleo kecil ukuran 220ml.…
Bismillaahirrohmaanirrohiim... Kali ini saya akan berbagi pengalaman tentang mati lampu yang disebabkan oleh permasalahan arus…