我有一个集合,我想找到一个给定字段的所有重复项。从Mongo文档和其他答案来看,大多数人似乎都建议使用mapReduce。我想知道从python迭代游标而不是使用map reduce的缺点是什么。
似乎mapreduce也必须遍历对象。
在这里添加解决方案,这样可能会对某人有所帮助。
我运行下面的查询来获得所有出现不止一次的条形码的列表。$group
管道对出现次数进行计数,$match
管道对count
大于1
的管道进行过滤。
db.sandbox.aggregate([
{$group: {_id: '$barcode',
count: {$sum: 1}
}
},
{$match: {count: {$gt:1} } }
])
聚合框架将帮助您查找重复项。这比抓取记录和循环要好。