mongodb删除重复数据

首先查找出name字段相同的重复数据,并列出_id

db.collection.aggregate([
    { 
    	$group: { _id : '$name', count: { $sum : 1 },dups: {$addToSet: '$_id'} } 
    },
    {
    	$match: { count: { $gt : 1} } 
    }
])

根据结果循环删除

.forEach(function(doc){
    doc.dups.shift();
    db.collection.remove({_id: {$in: doc.dups}});
})

其中,doc.dups.shift();为保留第一条

你可能感兴趣的:(mongodb)