使用给定数据
{
"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"]
}]
我尝试了几个聚合查询,没有一个导致我满意的结果。
答案 0 :(得分:1)
doc上有一个描述您相同情况的示例。
db.your_collection.aggregate([
{
$group: {
"_id": "$type",
"messages": { $push: "$message" }
}
}
]);