Pernah berpikir melakukan query tanpa harus tahu nama kolomnya ? Misal : Saya mau mencari data dari kolom manapun yang mengandung banjarmasin. Tempat lahir, tempat tinggal, atau tempat bekerja yang terdapat kata banjarmasin dapat ditampilkan tanpa harus merinci, tempat lahir=banjarmasin, tempat tinggal=banjarmasin atau tempat bekerja = banjarmasin. Dengan mongodb query tanpa melihat nama kolom ini bisa dilakukan dengan :
{
$text: {$search: "\"BANJARMASIN\" \"2015\" -BANJARNEGARA BJM", $caseSensitive: false}
}
Keterangan:
- Sebelum melakukan query diatas, field yang akan diquery harus diindex dulu dengan mengubah type ke TEXT. Misal dalam contoh ini adalah ketiga kolom seperti disebutkan diatas.
- Query text search tidak mencantumkan nama kolom sama sekali sebagaimana contoh diatas.
- Agar hasil query HARUS mengandung kata tertentu, apit dengan \" \".
- Agar hasil query TIDAK BOLEH mengandung kata tertentu, awali dengan negasi (-).
- Agar hasil query SEBAIKNYA mengandung kata tertentu, gunakan string biasa, contoh diatas BJM.
.
#mongodb #nice