mongodb:无法从数组输入中删除文档

时间:2016-07-21 13:04:09

标签: mongodb

我有两个集合,其中一个包含数据,另一个包含必须从第一个集合中删除的_id值。

db.Mapper.count()
// Gives me count of 600k docs
However, both the below queries are unable to remove docs from the first collection
db.zeroDimFacts.remove({_id: {$in:[db.Mapper.distinct("IDI")]})
// nRemoved: 0
db.zeroDimFacts.remove({"_id": {$in: [db.Mapper.distinct("IDI")]}}, {writeConcern: {w:"majority", wtimeout:10000}})
// nRemoved: 0

两个系列中都有超过300k个文档匹配 有人能找出阻止删除记录的内容吗?

1 个答案:

答案 0 :(得分:0)

查询db.Mapper.distinct("IDI")已经返回一个数组,因此不需要将结果再次包装在另一个数组中,只需将结果直接用作:

db.Mapper.count();
// Gives me count of 600k docs
// remove docs from the first collection
var mapperIds = db.Mapper.distinct("IDI");
db.zeroDimFacts.remove({"_id": { "$in": mapperIds } });