基本上这是我的问题: 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);
答案 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));