mongodb去重,计数

本文介绍了MongoDB中如何进行单字段和多字段的去重操作,包括利用`distinct`方法进行去重计数,以及通过`aggregate`管道中的`$group`阶段实现多字段去重。通过示例代码详细展示了如何在数据库查询中排除重复记录,并计算去重后的数量。这些方法对于数据清洗和分析非常实用。

单字段去重

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()
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值