Подтвердить что ты не робот

Синтаксис запроса в 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);
4b9b3361

Ответ 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));