db.table.aggregate([
{
-- 根据重复字段分组
$group: { _id: {'name': '$name','age': '$age'},
-- 计数
count: {$sum: 1},
-- 将id放到ids数组
ids: {$addToSet: '$_id'}}
},
{
-- 查询数据条数大于1的
$match: {count: {$gt: 1}}
}
]).forEach(function(doc){
-- 将ids里面id去除一个
doc.ids.shift();
-- 删除多余数据
db.table.remove({_id: {$in: doc.ids}});
});
结语
推荐下我的开源作品 PiperChat
PiperChat 是一款简洁高效的即时通讯服务,提供多种技术供开发者选择,帮助开发者快速构建高并发的即时通讯服务。
帮助企业快速接入 IM系统 / 聊天室系统 / 客服系统 等其他实时消息类系统,如果对你有用请求给我一个Star呀!