Chcete-li získat součet a průměrné z Channels.Value
prvky pro každý dokument ve vaší sbírce budete muset použít agregační zpracování mongodb. Dále od Channels
je pole, k dekonstrukci pole budete muset použít operátor $unwind.
Za předpokladu, že se vaše sbírka nazývá example
, zde je návod, jak můžete získat součet dokumentu i průměr Channels.Value
s:
db.example.aggregate( [
{
"$unwind" : "$Channels"
},
{
"$group" : {
"_id" : "$_id",
"documentSum" : { "$sum" : "$Channels.Value" },
"documentAvg" : { "$avg" : "$Channels.Value" }
}
}
] )
Výstup z dat vašeho příspěvku by byl:
{
"_id" : SomeObjectIdValue,
"documentSum" : 76,
"documentAvg" : 25.333333333333332
}
Pokud máte ve sbírce více než jeden dokument, uvidíte řádek výsledků pro každý dokument obsahující Channels
pole.