mongodb中的查询语法为sql“喜欢” - 我正在使用java

时间:2012-05-09 13:47:54

标签: java mongodb

基本上这是我的问题: How to query MongoDB with "like"?

但是我猜这里的所有答案都适用于你使用mongodb shell命令行,所以当我们使用java时,db.users.find({"name": /.*m.*/})的等价物是什么。

这是我想要做的事情

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

2 个答案:

答案 0 :(得分:13)

对于此问题,您应该使用正如此示例中的正则表达式:

BasicDBObject query = new BasicDBObject();
Pattern regex = Pattern.compile("the title you are looking for"); // should be m in your case
query.put("title", regex);

答案 1 :(得分:0)

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

Pattern regex = Pattern.compile("title you look for");
Bson filter = Filters.eq("nombre", regex));