Aby uzyskać sumę i średnia Channels.Value
elementów dla każdego dokumentu w Twojej kolekcji będziesz musiał użyć przetwarzania agregacji mongodb. Ponadto, ponieważ Channels
jest tablicą, której będziesz potrzebować użyć operatora $unwind, aby zdekonstruować tablicę.
Zakładając, że Twoja kolekcja nazywa się example
, oto jak uzyskać zarówno sumę dokumentu, jak i średnią Channels.Value
s:
db.example.aggregate( [
{
"$unwind" : "$Channels"
},
{
"$group" : {
"_id" : "$_id",
"documentSum" : { "$sum" : "$Channels.Value" },
"documentAvg" : { "$avg" : "$Channels.Value" }
}
}
] )
Wynikiem danych Twojego posta będzie:
{
"_id" : SomeObjectIdValue,
"documentSum" : 76,
"documentAvg" : 25.333333333333332
}
Jeśli masz więcej niż jeden dokument w swojej kolekcji, zobaczysz wiersz wyników dla każdego dokumentu zawierającego Channels
tablica.