MongoDB按查询条件查找并分组

5

简单集合:

[
    {
       _id: '123',
       name: 'FooBar',
       zone: 'Bas'
    },{
       _id: '456',
       name: 'Alice',
       zone: 'Bas'
    },{
       _id: '789',
       name: 'FooBar',
       zone: 'Bas'
    }
]

首先我创建一个查询来按名称查找所有元素:

db.collection.find({name:'FooBar'})

我该如何使用聚合扩展此内容的组查询呢?我希望能够按区域分组集合。
1个回答

16

试试这个,

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

你要执行什么? - Konstantin Yovkov
@kocko,错误与旧版Mongo(2.0.4)有关,我已升级到2.4。现在它可以工作了。 - DarkLeafyGreen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接