繁体   English   中英

Mongo Java查询和/或组合

[英]Mongo Java query for and/or combination

我需要Java驱动程序mongo查询和/或组合-例如

假设我有一个集合用户,有3个名为a,b,c的字段。

现在,我必须执行查找查询,例如-

user.find({$and :[{"a":"text"},{$or :[{"b":"text"},{"c":"text"}]}]})

此mongo控制台查询给出正确的结果。 我如何在JAVA mongo驱动程序中应用它。

请事先帮助

您可以使用以下查询

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM