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

How to check if multiple documents exist

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

{id : 1}
{id : 2}

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

如果您想检查集合中是否存在 key with value,您可以使用 $or 运算符通过匹配值和组合条件来简单地检查。

考虑到 id 不同于 mongo 中的 _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")}]}

您正在寻找 $in-operator

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

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

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