我在mongoDB中具有这样的文档结构。
{
'identifier': 'testanalysis',
'uuid': 'abc',
'days': [{'day': 20190122, 'value': 1}, {'day': 20190123, 'value': 2}, ]
},
{
'identifier': 'testanalysis',
'uuid': 'xyz',
'days': [{'day': 20190122, 'value': 5}, {'day': 20190123, 'value': 10}, ]
}
我希望得到如下结果:似乎是按day
分组并结合uuid
和value
作为对象。
{
'day': 20190122,
'result': [
{'uuid': 'abc', 'value': 1},
{'uuid': 'xyz', 'value': 5},
]
},
{
'day': 20190123,
'result': [
{'uuid': 'abc', 'value': 2},
{'uuid': 'xyz', 'value': 10},
]
}
答案 0 :(得分:1)
db.collection.aggregate([
{ $unwind: '$days' },
{ $group: {
_id: "$days.day",
day: { $first: "$days.day" },
result: {
$push: { 'uuid': '$uuid', 'value': '$days.value' }
}
}
}
])