我需要一个Java驱动程序mongo查询和/或组合 - 对于前 -
假设我有一个集合用户有3个名为a,b,c。
的字段现在我必须执行查找查询,如 -
user.find({$and :[{"a":"text"},{$or :[{"b":"text"},{"c":"text"}]}]})
这个mongo控制台查询给出了正确的结果。 我如何使用JAVA mongo驱动程序。
请帮忙 提前致谢
答案 0 :(得分:6)
您可以使用以下查询
DBCollection userCollection = db.getCollection("collection");
BasicDBObject orQuery = new BasicDBObject();
List<BasicDBObject> obj1 = new ArrayList<BasicDBObject>();
obj1.add(new BasicDBObject("a", "text"));
obj1.add(new BasicDBObject("b", "text"));
orQuery.put("$or", obj1);
BasicDBObject andQuery = new BasicDBObject();
List<BasicDBObject> obj = new ArrayList<BasicDBObject>();
obj.add(new BasicDBObject("c", "text"));
obj.add(orQuery);
andQuery.put("$and", obj);
System.out.println(andQuery.toString());
DBCursor cursor = userCollection.find(andQuery);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}