【问题标题】:Find document that contains at least one element of an string array查找包含至少一个字符串数组元素的文档
【发布时间】:2017-04-09 08:19:24
【问题描述】:

我想在 MongoDB 中运行一个查询,该查询返回一个集合的不同文档,其中至少包含一个字符串数组的元素。例如,如果我有一个包含 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”的文档。我怎样才能做到这一点?谢谢。

【问题讨论】:

    标签: mongodb


    【解决方案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);
    

    【讨论】:

    • 这是一个好主意并且可以正常工作,但运行时间很长。还有其他方法吗? @Veeram
    猜你喜欢
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多