Итак, я пытаюсь сделать запрос агрегации. У меня есть документы, которые выглядят так:
{
"_id": ObjectId(),
"value": [1,2],
"date": ISODate("2016-06-02T03:02:00.000Z")
},
{
"_id": ObjectId(),
"value": [1,2],
"date": ISODate("2016-06-06T03:02:00.000Z")
},
{
"_id": ObjectId(),
"value": [3,2],
"date": ISODate("2017-04-06T03:02:00.000Z")
}
Я хочу посчитать, сколько раз один и тот же массив, value
происходил в определенный год-месяц.
Я получил дату, написав эту агрегацию:
{
"$group":
{
'_id':
{
"$dateToString":
{
"format": "%Y-%m",
"date": "$launch_time"
}
}
}
},
{
"$sort":
{
"_id": -1
}
},
{
"$project":
{
"date": "$_id",
"_id": 0,
}
}
Что дает мне результат:
{'date': '2016-04'} ..so on
И мне удалось посчитать массивы с помощью:
{
"$group":
{
"_id": "$home_coordinates",
"count":
{
"$sum": 1
}
}
}
Что дает мне вывод:
{'_id': [1,2], 'count': 2} ..so on
Как мне объединить эти 2 так, чтобы мой результат выглядел следующим образом?
{
"date": "2016-06",
"value": [1,2],
"count": 2
},
{
"date": "2017-04",
"value": [3,2],
"count": 1
}
Следовательно, как мне посчитать аналогичные массивы на основе date ?