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);