У меня есть коллекция под названием A, где есть массив продуктов,
и у меня есть коллекция B, которая также имеет массив продуктов, отношение A & B - один ко многим по _id, для каждого документа в A может быть несколько документов в B, также массив продуктов B состоит только из продуктов из продукта A массив.
Это коллекция А
{
"_id": "abcdefg",
"products": [
{
"_id": "1",
"_product": "1",
"quantity": 12
},
{
"_id": "2",
"_product": "2",
"quantity": 32
},
{
"_id": "3",
"_product": "3",
"quantity": 12
}
]
}
Это два документа в B
Док 1
{
"_id": "<<obj_id>>",
"A_id":"abcdefg",
"products": [
{
"_id": "<<_id>>",
"_product": "1",
"quantity": 6
},
{
"_id": "<<_id>>",
"_product": "2",
"quantity": 16
}
]
}
и DOC 2
{
"_id": "<<obj_id>>",
"A_id":"abcdefg",
"products": [
{
"_id": "1",
"_product": "1",
"quantity": 6
},
{
"_id": "2",
"_product": "2",
"quantity": 12
},
{
"_id": "3",
"_product": "3",
"quantity": 8
}
]
}
Теперь мне нужен конвейер / стратегия, в которой я могу получить разницу количеств продуктов А и (сумму всех продуктов B), где идентификаторы продуктов равны, т.е. что-то вроде этого
[
0,
4,
4
]