仅选择ID值不在集合中的文档

时间:2016-06-03 07:15:04

标签: mongodb mongodb-query

我有一个集合ft,其中包含许多记录。但是,我想在逗号分隔列表中排除某些ID。

我正在尝试执行以下操作

var ids = [ "RQcWthREHBTfkybMy", "jiPrzQQWxbN5a8pEC", "5oFxC68WEggYzY7ah" ]
db.collection.find( { _id: { $ne: ids } } )

但我只能设法排除RQcWthREHBTfkybMy,这是我列表中的第一个ID。

1 个答案:

答案 0 :(得分:0)

当指定值为数组时,$ne查询运算符的行为与$eq运算符完全不同。要检查字段值是否不在指定的数组中,您需要使用$nin查询运算符。

var ids = [ "RQcWthREHBTfkybMy", "jiPrzQQWxbN5a8pEC", "5oFxC68WEggYzY7‌​ah" ]
db.collection.find( { "_id": { "$nin": ids } } )