如何检查是否存在多个文档

时间:2015-06-16 08:03:02

标签: mongodb mongodb-query

是否有这样的查询获取多个字段,并返回集合中存在哪些字段? 例如,如果集合只有:

{id : 1}
{id : 2}

我想知道其中存在[{id : 1} , {id : 3}]中的哪一个,然后结果将类似于[{id : 1}]

2 个答案:

答案 0 :(得分:10)

您正在寻找$in-operator

db.collection.find({ id: { $in: [ 1, 3 ] } });

这将为您提供id-field(与特殊_id字段不同)为1或3的任何文档。当您只需要id字段的值而不是整个文档时:

db.collection.find({ id: { $in: [ 1, 3 ] } }, { _id: false, id:true });

答案 1 :(得分:1)

如果您想检查提供的key with value是否存在,则只需使用$or运算符匹配值和组合条件即可进行检查。

在mongo中考虑id_id不同。

您可以使用$or获取预期的输出,查询将如下所示。

db.collection.find({$or:[{"id":1},{"id":3}]},{"_id":0,"id":1}) 

如果您想匹配_id,请使用以下查询:

db.collection.find({$or:[{"_id":ObjectId("557fda78d077e6851e5bf0d3")},{"_id":ObjectId("557fda78d077e6851e5bf0d5")}]}