收集分组字段中的值

时间:2019-05-28 11:30:27

标签: mongodb aggregation-framework

使用给定数据

{
    "type": "INGESTION",
    "message": "Lorem"
}

{
    "type": "INGESTION",
    "message": "Ipsum"
}

{
    "type": "DISCHARGE",
    "message": "dolor"
}

{
    "type": "DISCHARGE",
    "message": "sit"
}

我想按type分组,并将message的所有可能值收集到一个字段中。

预期输出应与

相似
[{
    "type": "INGESTION",
    "messages": ["Lorem", "Ipsum"]
},
{
    "type": "DISCHARGE",
    "messages": ["dolor", "sit"]
}]

我尝试了几个聚合查询,没有一个导致我满意的结果。

1 个答案:

答案 0 :(得分:1)

doc上有一个描述您相同情况的示例。

db.your_collection.aggregate([
    {
        $group: {
            "_id": "$type",
            "messages": { $push: "$message" }
        }
    }
]);