Я видел много сообщений об использовании aggregate
в sum
вложенных ARRAY
полей, я пытался использовать его со своим вложенным объектом, который не работал.
Когда я запрашиваю, структура данных выглядит примерно так ...
[
{
"key": "value",
"more_key": "more_value",
"meals": {
"A": {
"name": "salmon",
"amount": "8"
},
"B": {
"name": "vege",
"amount": "6"
},
}
},
{
"key": "value",
"more_key": "more_value",
"meals": {
"A": {
"name": "salmon",
"amount": "8"
},
"B": {
"name": "vege",
"amount": "6"
},
"C": {
"name": "other meal",
"amount": "6"
},
}
},
];
Я пытаюсь суммировать amount
Я пробовал что-то подобное...
await Model.aggregate([
{ $match: { isDeleted: false } },
{ $unwind: '$meals' }, // tried with + without this
{ $group: { _id: null, sum: { $sumA: '$meals.A.amount', $sumB: '$meals.B.amount' } } }
]);
Может кто-нибудь дать мне какой-нибудь совет и совет, как это можно сделать?
Заранее спасибо.