Разбираюсь с монго и застрял на aggregation framework.
Есть 2 коллекции, денежные счета(accounts) и транзацкии(transactions).
Транзакции хранят ссылку на каком счету были сделаны, либо две ссылки если это был перевод с одного на другой.
Счета онлайн preview:
www.jsoneditoronline.org/?id=0957b9a7234970747f586...
Транзакции онлайн preview:
www.jsoneditoronline.org/?id=c71dd28067663766ecd43...
На выходе, с помощью aggregation framework, хочется получить массив статистики по счетам такого вида:
[{
"name": "Cash",
"_id": "570549ea97cf9917637a5243",
"transactions": "количество транзакций по этому аккаунту",
"spent": "сумма всех полей amount из транзакций с типом spent",
"earned": "сумма всех полей amount из транзакций с типом earned",
"withdrawal": "сумма всех полей amount из транзакций с типом transfer, где данный аккаунт является source",
"deposits": "сумма всех полей amount из транзакций с типом transfer, где данный аккаунт является destination",
"summary": "(earned + deposits) - (spent + withdrawal)"
}]
Как правильно сделать запрос?