MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mencari nilai bidang apa pun di MongoDB tanpa menamainya secara eksplisit

untuk melakukan pencarian teks di semua bidang, Anda harus terlebih dahulu membuat indeks teks di semua bidang.

seperti yang ditunjukkan oleh dokumentasi mongodb, "Untuk mengizinkan pencarian teks pada semua bidang dengan konten string, gunakan penentu karakter pengganti ($**) untuk mengindeks semua bidang yang berisi konten string."

jika Anda bekerja di dalam shell mongo (yang Anda jalankan dari baris perintah dengan memanggil 'mongo'), maka Anda dapat melakukannya dengan perintah ini, di mana 'koleksi' adalah nama koleksi di db yang ingin Anda gunakan.

db.collection.createIndex({ "$**": "text" },{ name: "TextIndex" })

objek kedua, yaitu {name:"TextIndex"} , adalah opsional...Anda sebenarnya tidak perlu memberikan indeks nama, karena hanya ada satu indeks teks per koleksi (pada satu waktu...Anda dapat menjatuhkan indeks dan membuat yang baru jika Anda mau).

setelah Anda membuat indeks teks di semua bidang, Anda dapat melakukan pencarian teks sederhana dengan objek kueri berikut:{ $text : { $search: <your string> } }

jadi, jika Anda menulis fungsi javascript, Anda mungkin melakukan sesuatu seperti:

var cursor = db.collection(<collection_name>).find({ $text: { $search: <your string> } });

untuk info lebih lanjut tentang berbagai cara untuk mengontrol pencarian, lihat dokumentasi mongodb tentang pencarian teks di sini



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Bagaimana cara meminta mongodb dengan "suka" menggunakan api Java?

  2. Membuat Spark, Python, dan MongoDB bekerja bersama

  3. Bagaimana cara menyimpan informasi geospasial di mongoDB

  4. Temukan dokumen dengan larik yang tidak berisi nilai tertentu

  5. mongodb cara mengubah port default