Я пытаюсь посчитать разные значения в подмассиве для каждого документа. Пока я получаю итоги. Моя коллекция:
[
{
"_id": "5e013ca474082f6852",
"name": [
{
"value": "Oak",
"date": "2020-01-01 00:10:57"
}
],
"colors": [
{
"nice": "bla bala",
"color": "Blue"
},
{
"nice": "bla bala",
"color": "Red"
},
{
"nice": "bla bala",
"color": "Blue"
},
{
"nice": "bla bala",
"color": "Green"
},
{
"nice": "bla bala",
"color": "Green"
}
]
},
{
"_id": "57689a4740857bb2",
"name": [
{
"value": "Cloud",
"date": "2020-01-01 00:10:57"
}
],
"colors": [
{
"nice": "bla bala",
"color": "Blue"
},
{
"nice": "bla bala",
"color": "Blue"
},
{
"nice": "bla bala",
"color": "Blue"
},
{
"nice": "bla bala",
"color": "Green"
},
{
"nice": "bla bala",
"color": "Green"
}
]
}
]
Результат, который я ищу:
[
{
"_id": "5e013ca474082f6852",
"name": [
{
"value": "Oak",
"date": "2020-01-01 00:10:57"
}
],
"colors": {
"Blue": 2,
"Red": 1,
"Green": 2
}
},
{
"_id": "57689a4740857bb2",
"name": [
{
"value": "Cloud",
"date": "2020-01-01 00:10:57"
}
],
"colors": {
"Blue": 3,
"Green": 2
}
}
]
Спасибо PS Я не ставил ни одной из своих попыток агрегирования с использованием $ group, потому что до сих пор что Я получил это бесполезно :) PPS Я не знаю, что еще сказать о моей проблеме, SO говорит, что это слишком много кода, недостаточно текста.