mongodb多字段去重

单字段去重

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不会重复,所以作用相当于把组合项去重了。

 

posted @ 2017-12-05 15:50  刘镇维  阅读(4051)  评论(0编辑  收藏  举报