11

基本上这是我的问题: 如何用“like”查询 MongoDB?

但我想这里的所有答案都适用于您使用 mongodb shell 命令行,那么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);
4

2 回答 2

14

对于这个问题,您应该使用正则表达式,如本例所示:

BasicDBObject query = new BasicDBObject();
Pattern regex = Pattern.compile("the title you are looking for"); // should be m in your case
query.put("title", regex);
于 2012-05-09T13:52:37.507 回答
0

以上面的例子作为参考,但是使用了 Filters 类:

Pattern regex = Pattern.compile("title you look for");
Bson filter = Filters.eq("nombre", regex));
于 2017-06-23T21:12:04.630 回答