Монго совокупный вложенный массив
У меня есть коллекция монго со следующей структурой
{
"userId" : ObjectId("XXX"),
"itemId" : ObjectId("YYY"),
"resourceId" : 1,
"_id" : ObjectId("528455229486ca3606004ec9"),
"parameter" : [
{
"name" : "name1",
"value" : 150,
"_id" : ObjectId("528455359486ca3606004eed")
},
{
"name" : "name2",
"value" : 0,
"_id" : ObjectId("528455359486ca3606004eec")
},
{
"name" : "name3",
"value" : 2,
"_id" : ObjectId("528455359486ca3606004eeb")
}
]
}
Может быть несколько документов с одинаковым 'useId' с разными 'itemId', но параметр будет иметь одинаковые пары ключ / значение во всех них.
То, что я пытаюсь сделать, это вернуть агрегированные параметры «name1», «name2» и «name3» для каждого уникального «userId», игнорируя «itemId». итоговые результаты будут выглядеть для каждого пользователя:
{
"userId" : ObjectId("use1ID"),
"name1" : (aggregatedValue),
"name2" : (aggregatedValue),
"name3" : (aggregatedVAlue)
},
{
"userId" : ObjectId("use2ID"),
"name1" : (aggregatedValue),
"name2" : (aggregatedValue),
"name3" : (aggregatedVAlue)
}
Можно ли сделать это, используя агрегированные методы mongoDB? Не могли бы вы помочь мне построить правильный запрос для достижения этой цели?