MongoDB-聚合操作$group

聚合管道阶段

  • $group: 对文档进行分组

格式:

{$group:{
    _id:<expression>,
    <field1>: {<accumulator1>: <expression1>}
    ... ...
}}

group 括号当中属性的含义:

  • _id: 定义分组规则
  • <field>: 定义新字段

示例

添加测试数据,在添加之前先将之前的旧数据进行删除,删除的方式我这里不介绍自行删除,添加测试的数据脚本如下:

db.person.insert([
    {name:'zs', age:10, city:'北京'},
    {name:'ls', age:20, city:'上海'},
    {name:'ww', age:30, city:'北京'},
    {name:'zl', age:40, city:'上海'},
    {name:'lnj', age:50, city:'北京'},
    {name:'jjj', age:60, city:'广州'},
]);

然后就是使用 group:

db.person.aggregate([
    {$group:{
        _id: '$city',
        totalAge: {$sum:'$age'},
        avgAge: {$avg:'$age'},
        minAge: {$min:'$age'},
        maxAge: {$max:'$age'},
        totalName: {$push:'$name'}
    }}
]);
posted @ 2022-08-14 13:03  BNTang  阅读(207)  评论(0)    收藏  举报