【发布时间】:2015-07-27 18:38:16
【问题描述】:
我有一个关于过滤特定字段不在值列表中的文档的问题。例如,文档仅包含唯一且被索引的“_id”字段。现在我有一个“_id”列表,想找出所有“_id”不在“_id”列表中的文档。
我可以通过使用 $in 运算符来做到这一点:
db.mycollection.find({_id:{$in:["id1","id2"]}},{_id:1})
返回所有 id 在列表中的文档,然后与给定的列表进行比较。对于数千个文档,这种方式的性能还不够好。我想知道是否有更好的方法来做到这一点。例如,是否可以构造一个查询只返回id不在列表中的文档以减少网络传输时间?
谢谢
【问题讨论】:
标签: mongodb mongodb-query