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

Cara melakukan pencarian wildcard di MongoDB menggunakan Java

Anda dapat melakukan Ekspresi reguler mencocokkan bidang di Mongo, inilah cara Anda melakukan pola pertama Anda:

Pattern p = Pattern.compile("Mon.*DB", CASE_INSENSITIVE);
BasicDBObject query = new BasicDBObject("name", p);

// finds all records with "name" matching /Mon.*DB/i
DBCursor cursor = collection.find(query);

Namun, berhati-hatilah, banyak kecocokan ekspresi reguler memerlukan pemindaian tabel lengkap. Ini berarti bahwa jika Anda menjalankannya terhadap koleksi besar, mesin harus mengulangi semua dokumen (mungkin mengenai disk) dan memeriksa masing-masing satu per satu untuk kecocokan. Ini jauh lebih lambat daripada kueri yang menggunakan indeks.

Satu-satunya ekspresi reguler yang akan mencapai indeks adalah kecocokan awalan peka huruf besar/kecil. Anda dapat mencari semua "Senin*" seperti ini dan menggunakan indeks:

Pattern p = Pattern.compile("^Mon.*");
BasicDBObject query = new BasicDBObject("name", p);

// finds all records with "name" matching /^Mon.*/
DBCursor cursor = collection.find(query);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. luwak:mendeteksi jika dokumen yang dimasukkan adalah duplikat dan jika demikian, kembalikan dokumen yang ada

  2. Daftar MongoDB - dapatkan setiap item ke-N

  3. apakah map/reduce sesuai untuk menemukan median dan modus dari sekumpulan nilai untuk banyak record?

  4. Redis vs. MongoDB:Apa yang perlu Anda ketahui

  5. Tidak dapat menimpa model setelah dikompilasi Mongoose