im Grunde ist meine Frage: How to query MongoDB with "like"?Abfragesyntax in mongodb für SQL „wie“ - ich bin mit Java
aber ich denke, alle Antworten in sind hier anwendbar, wenn Sie mongodb Shell-Befehlszeile verwenden, so was ist das Äquivalent für db.users.find({"name": /.*m.*/})
, wenn wir Java verwenden.
hier ist, wie ich versuche,
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);
thnx. Du solltest schreiben: Pattern regex = Pattern.compile ("/.* m. * /"); wenn ich Titel finden möchte, die "m" enthalten? – MoienGK
@dave Sie können einfach schreiben Muster regex = Pattern.compile ("m"); – sebastian
+1 - beachten Sie, dass MongoDB wird "das Richtige tun" und führen Sie eine effiziente Suche mit einem Regex wenn möglich (im Grunde, wenn die Regex hat nur am Ende einen Platzhalter) –