Categories: MongoDB

MongoDB PHP query LIKE

Bismillaahirrohmaanirrohiim…

Berikut ini query mysql untuk like:

select * from namatabel where namakolom LIKE '%katakunci%' order by kolomsort DESC LIMIT 0, 10

Untuk digunakan di mongoDB php, kita gunakan:

<?php
$dbName = 'namadb';
$tableName = 'namacollection';

$kolom = 'kolomygdicari';
$keyword = 'katakunci';
$sortby = 'kolomsort';
$limit = 10;
$skip = 0;

$returns = array();

$manager = new MongoDB\Driver\Manager();


$filter = array($kolom=> new MongoDB\BSON\Regex($keyword, 'i'));
$options = array('limit'=>$limit,'skip'=>$skip,'sort'=>array($sortby=>-1));

$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery($dbName.'.'.$tableName, $query);

$cursor->setTypeMap(['root' => 'array', 'document' => 'array', 'array' => 'array']);
$cursor = $cursor->toArray();

foreach ($cursor as $document) {
    $document['_id'] = (array) $document['_id'];
    $returns[] = $document;
}

echo '<pre>';
print_r($returns);
echo '</pre>';
echo '<hr />';

Untuk lebih memahami tentang mapping query mysql dengan mongoDB bisa cek link berikut ini

https://docs.mongodb.com/manual/reference/sql-comparison/

db.people.find( { user_id: /bc/ } )
atau
db.people.find( { user_id: { $regex: /bc/ } } )
atau start with
db.people.find( { user_id: /^bc/ } )

Demikian terimakasih, semoga bermanfaat.

Bagikan
rasupe

Recent Posts

Cara mengakses gmail dengan php imap

Bismillaahirrohmaanirrohiim... Saat ini teknologi sudah berkembang cepat, ada kalanya kita ingin diberikan informasi secara cepat…

4 months ago

Error posible dead lock pada cyberpanel litespeed mysql

Bismillaahirrohmaanirrohiim... Jika web diakses oleh banyak orang, khususnya yang berbasis wordpress, maka secara normal proses…

5 months ago

Aplikasi Sistem Monitoring Sekolah berbasis WEB

Bismillaahirrohmaanirrohiim... Saat ini, sekolah baik SD, SMP, ataupun SMA tentunya ingin dapat melihat dan memonitor…

5 months ago

Membuat program pendataan pilkada DPRD tingkat 2

Bismillaahirrohmaanirrohiim... Pada artikel kali ini saya akan berbagi informasi tentang program pendataan pendukung calon legislatif…

5 months ago

Cara Screenshot di Chrome full halaman

Bismillaahirrohmaanirrohiim... Saat kita melakukan screenshot di browser chrome, pada windows 11 menyediakan fungsi yang bagus…

6 months ago

Menonaktifkan fitur translate di website

Bismillaahirrohmaanirrohiim... Untuk website yang ingin tidak muncul popup translate dari browser, bisa dicoba kode di…

8 months ago