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要加引号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。