单字段去重
db.student.distinct("name");
单字段去重计数
db.student.distinct("name").length;
多字段去重
db.student.aggregate([{
$group:{
_id: {name: "$name", sex: "$sex"},
}
}])
如果还需要拿出collection中的其他字段,可以使用$push关键字
db.student.aggregate([{
$group:{
_id: {name: "$name", sex: "$sex"},
age: {$push: "$age"}
}
}])
原理:
根据id分组,id指定为组合项的话,因为id不会重复,所以作用相当于把组合项去重了。
多字段去重计数
db.student.aggregate([{
$group:{
_id: {name: "$name", sex: "$sex"},
}
}])
.count()
本文介绍了MongoDB中如何进行单字段和多字段的去重操作,包括利用`distinct`方法进行去重计数,以及通过`aggregate`管道中的`$group`阶段实现多字段去重。通过示例代码详细展示了如何在数据库查询中排除重复记录,并计算去重后的数量。这些方法对于数据清洗和分析非常实用。
4518





