Mongodb通过查询和组查找

Upv*_*ote 2 mongodb aggregation-framework

简单收藏:

[
    {
       _id: '123',
       name: 'FooBar',
       zone: 'Bas'
    },{
       _id: '456',
       name: 'Alice',
       zone: 'Bas'
    },{
       _id: '789',
       name: 'FooBar',
       zone: 'Bas'
    }
]
Run Code Online (Sandbox Code Playgroud)

首先,我构建一个查询以按名称查找所有元素:

db.collection.find({name:'FooBar'})
Run Code Online (Sandbox Code Playgroud)

如何使用聚合对组查询进行扩展?我想按区域分组.

小智 9

试试这个,

db.collection.aggregate(
    { 
        $match : {name : "FooBar"}
    },
    { 
        $group : { 
             _id : "$zone", 
              total : { $sum : 1 } 
        }
    }
);
Run Code Online (Sandbox Code Playgroud)