У меня следующая структура документа
[
{
"tag": "abc",
"created_at": 2020-02-05T14:20:52.907+00:00
"likes": 12,
"comments": 3
},
{
"tag": "abc",
"created_at": 2020-02-04T14:20:52.907+00:00
"likes": 10,
"comments": 1
}
{
"tag": "abc",
"created_at": 2020-01-04T14:21:52.907+00:00
"likes": 12,
"comments": 3
},
{
"tag": "abc",
"created_at": 2020-01-04T14:22:52.907+00:00
"likes": 2,
"comments": 1
}
]
Сначала я хочу сгруппировать документы по значению tag
, а затем по полю created_at
, чтобы получить что-то подобное.
[
{
"tag_name": "abc",
"day_wise": [
{
"dayMonthYear": "2020-01-04",
"comments": 4,
"likes": 14
},
{
"dayMonthYear": "2020-02-04",
"comments": 1,
"likes": 10
},
{
"dayMonthYear": "2020-02-05",
"comments": 3,
"likes": 12
},
],
"month_wise": [
{
"monthYear": "2020-04",
"comments": 5,
"likes": 24
},
{
"monthYear": "2020-05",
"comments": 3,
"likes": 12
},
],
}
]
Может быть несколько тегов, поэтому необходимо сгруппировать их соответствующим образом. Кто-нибудь может подсказать, какой запрос агрегации можно применить для достижения этого результата.