Моей Структура документа:Как агрегировать значение внутреннего массива в MongoDB?
{"id" : 1
"apps" : [
{
"name" : "APP1",
"date_added" : Timestamp(1453470861, 1),
"power" : [
{
"date" : Timestamp(1453470960, 1),
"amount" : 30.3739953125
},
{
"date" : Timestamp(1453470960, 1),
"amount" : 30.3739953125
},
{
"date" : Timestamp(1453470960, 1),
"amount" : 30.3739953125
},
{
"date" : Timestamp(1453470967, 1),
"amount" : 30.30951765625
}
}]
}
У меня есть кратные приложения в документе, но только один отвечала.
Я хочу сгруппировать по apps.name и получить сумму power.amount для каждого приложения. Это код, который я придумал:
db.x.aggregate([{$match:{id:1}},{$unwind:"$apps"},{$group:{_id:"$apps.name",total:{$sum:"$apps.power.amount"}}}])
Но я получаю это как результат:
{ "_id" : "APP1", "total" : 0 }
Может кто-нибудь сказать мне, что вызывает запрос, чтобы дать ноль в качестве ответа?
Он работал. Большое спасибо –