如何使用MongoDB聚合框架获取本文档中每个数组中所有第一元素的总和?
{
items: {
item1: [5, 8, 2],
item2: [4, 3, 1],
...
}
}
这是我尝试过的部分管道:
[{
$addFields: {
itemsAsArray: {
$objectToArray: '$items'
}
}
}, {
$project: {
_id: 0,
itemsAsArray: 1
}
}, {
$unwind: '$itemsAsArray'
}]
因此,我从匹配的文档中获取此items
值,将其转换为数组,然后展开。现在,我有一个这样的对象数组:
[{
itemsAsArray: {
k: 'item1',
v: [5, 8, 2]
}
},
{
itemsAsArray: {
k: 'item2',
v: [4, 3, 1]
}
}, ... ]
使用此数组,如何将它们分组以产生现在表示为v
的每个数组中第一个元素的总和?我在正确的轨道上吗?