单字段去重
db.student.distinct("name");
多字段去重
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不会重复,所以作用相当于把组合项去重了。