如何按字段键对数据进行分组?

时间:2016-02-09 12:06:01

标签: mongodb mongodb-query pymongo

例如,我在列表中运行聚合查询:

[
    { "vector": { "age": 31, "location" : "SF" }},
    { "vector": { "age": 21, "location" : "NY" }}
]

我想将它们分组并获得结果,如

{
  "age": [31, 21],
   "location": ["SF", NY]
}

请告诉我如何使用查询运算符获取结果。

1 个答案:

答案 0 :(得分:0)

您可以使用aggregate命令和group by NULL将所有元素推送到相应的数组。

db.coll.aggregate([
    {
        $group : {
            _id : null,
            age : {$push : "$vector.age"},
            location: {$push : "$vector.location"}
        }
    }
])

将输出以下内容:

{ "_id" : null, "age" : [ 31, 21 ], "location" : [ "SF", "NY" ] }