MongoDB聚合统计

分组统计

  • 统计有多少个不相同name的数据【 {$group: {“_id”: “$name”}} 】
  • 每个相同的name出现了多少次,每出现一次,算一次【 count: {$sum: 1} 】
db.event.aggregate(
[{
	$group: {
		"_id": "$name",
		count: {$sum: 1}
	}
}]
)
  • 统计有多少个不相同name的数据【 {$group: {“_id”: “$name”}} 】
  • 每个相同的name出现了多少次,每出现一次,算十次【 count: {$sum: 10} 】
db.event.aggregate(
[{
	$group: {
		"_id": "$name",
		count: {$sum: 10}
	}
}]
)

不分组统计

  • 统计有多少个name的数据【 {$group: {“_id”:null}} 】
  • 每个相同的name出现了多少次,每出现一次,算一次【 count: {$sum: 1} 】
db.event.aggregate(
[{
	$group: {
		"_id": null,
		count: {$sum: 1}
	}
}]
)
  • 统计表中所有age的总计【 {$group: {“_id”:null}} 】
  • 每个相同的name出现了多少次,每出现一次,算一次【 count: {$sum: “$age”} 】
db.event.aggregate(
[{
	$group: {
		"_id": null,
		count: {$sum: "$age"} 
	}
}]
)

注意

  1. 不分组:“_id” 设置为 null
  2. 当 $ 符号出现在数值位置上时,必须加 单/双引号,如 {$sum: “$age”} 中 $age要加引号
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值