Синтаксис запроса в mongodb для sql "like" - я использую java
В основном это мой вопрос:
Как запросить MongoDB с "как" ?
но я думаю, что все ответы здесь применимы, когда вы используете командную строку оболочки mongodb, так что эквивалентно для db.users.find({"name": /.*m.*/})
, когда мы используем java.
вот как я пытаюсь сделать
DBCollection coll = MongoDBUtil.getDB().getCollection("post_details");
BasicDBObject query = new BasicDBObject();
query.put("price", new BasicDBObject("$gt", 5).append("$lt", 8));
/*what should i write instead of this line*/
query.put("title", "/.*m.*/");
DBCursor cur = coll.find(query);
Ответы
Ответ 1
Для этой проблемы вы должны использовать регулярное выражение, как в этом примере:
BasicDBObject query = new BasicDBObject();
Pattern regex = Pattern.compile("the title you are looking for"); // should be m in your case
query.put("title", regex);
Ответ 2
Взяв приведенный выше пример в качестве ссылки, но используя класс Filters:
Pattern regex = Pattern.compile("title you look for");
Bson filter = Filters.eq("nombre", regex));