mongo aggregate 删除重复数据
$group 按照什么排序, 关照 _id 这个是排序的依据
$match 这个从排序的结果内抽取 count 大于一的
allDiskUse 如果内存配置比较小, 设置这个才能运行, 否则会崩。
然后对找出来的结果集进行删除。
db.all_name.aggregate([{
$group:{_id:"$name",count:{$sum:1},dups:{$addToSet:'$_id'}} },
{ $match:{count:{$gt:1}} }],
{allowDiskUse:true}
).forEach(function(it){ it.dups.shift(); db.all_name.remove({_id: {$in: it.dups}}); });