Bạn có thể thực hiện Biểu thức chính quy khớp trên các trường trong Mongo, đây là cách bạn thực hiện lần đầu tiên trong số các mẫu của mình:
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);
Tuy nhiên, hãy cẩn thận, nhiều đối sánh biểu thức chính quy yêu cầu quét toàn bộ bảng. Điều này có nghĩa là nếu bạn chạy chúng với một bộ sưu tập lớn, công cụ sẽ phải lặp lại tất cả các tài liệu (có thể là đánh đĩa) và kiểm tra từng tài liệu riêng lẻ để xem có khớp hay không. Điều này chậm hơn nhiều so với các truy vấn sử dụng chỉ mục.
Các biểu thức chính quy duy nhất sẽ đạt được một chỉ mục là các đối sánh tiền tố phân biệt chữ hoa chữ thường. Bạn có thể tìm kiếm tất cả "Mon *" như thế này và sử dụng chỉ mục:
Pattern p = Pattern.compile("^Mon.*");
BasicDBObject query = new BasicDBObject("name", p);
// finds all records with "name" matching /^Mon.*/
DBCursor cursor = collection.find(query);