查找包含字符串数组

时间:2017-04-09 08:19:24

标签: mongodb

我想在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"。我怎样才能做到这一点?感谢。

1 个答案:

答案 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);