我有两个集合,其中一个包含数据,另一个包含必须从第一个集合中删除的_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个文档匹配 有人能找出阻止删除记录的内容吗?
答案 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 } });