我想在MongoDB中运行一个查询,该查询返回一个集合的不同documnets,该集合包含至少一个字符串数组元素。例如,如果我有一个包含A,B,C的列表,则查询应返回包含" A"的所有不同文档。 OR " B" OR " C"。我写了这个查询:
BasicDBObject query = new BasicDBObject("A", new BasicDBObject("$exists", true));
query.append("B", new BasicDBObject("$exists", true)).
append("C", new Basicstrong textDBObject("$exists", true));
但它会返回所有包含" A" AND " B" AND " C"。我怎样才能做到这一点?感谢。
答案 0 :(得分:1)
您已明确$or
个文件。
BasicDBList orList = new BasicDBList();
orList.add(new BasicDBObject("A", new BasicDBObject("$exists", true)));
orList.add(new BasicDBObject("B", new BasicDBObject("$exists", true)));
orList.add(new BasicDBObject("C", new BasicDBObject("$exists", true)));
BasicDBObject or = new BasicDBObject("$or", orList);