For at få sum og gennemsnitlig af Channels.Value
elementer for hvert dokument i din samling, skal du bruge mongodbs Aggregation-behandling. Yderligere, da Channels
er et array, du skal bruge operatoren $unwind til at dekonstruere arrayet.
Forudsat at din samling hedder example
, her er, hvordan du kan få både dokumentsummen og gennemsnittet af Channels.Value
s:
db.example.aggregate( [
{
"$unwind" : "$Channels"
},
{
"$group" : {
"_id" : "$_id",
"documentSum" : { "$sum" : "$Channels.Value" },
"documentAvg" : { "$avg" : "$Channels.Value" }
}
}
] )
Outputtet fra dit indlægs data ville være:
{
"_id" : SomeObjectIdValue,
"documentSum" : 76,
"documentAvg" : 25.333333333333332
}
Hvis du har mere end ét dokument i din samling, vil du se en resultatrække for hvert dokument, der indeholder en Channels
array.