Всем привет. Пишу запрос для получения статистики с бд. Вот код:
Stats.aggregate([
{
$match: {
user: userId
}
},
{
$sort: {
date: -1,
}
},
{
$group: {
_id: {
'advertiser': '$advertiser',
'offer': '$offer'
},
stats: {
$push: {
'date': '$date',
'spent': '$spent',
'revenue': '$revenue'
}
}
}
},
{
$group: {
_id: '$_id.advertiser',
offers: {
$push: {
_id: '$_id.offer',
stats: '$stats'
}
}
}
}], callback);
Я хочу что бы в advertiser были все его offers, а в нутри offers была статистика по дням вместе с spent и revenue. Проблема в том, что статистики по дням может быть больше одной и я получаю такой ответ:
stats […]
0 {…}
date 2018-01-30T22:00:00.000Z
spent 100
revenue 200
1 {…}
date 2018-01-30T22:00:00.000Z
spent 20
revenue 20
Но, мне нужно что бы одиноковые дни скаладовались в один. Может кто-то шарит как это сделать. Спасибо