Um die Summe zu bekommen und durchschnittlich des Channels.Value
Elemente für jedes Dokument in Ihrer Sammlung müssen Sie die Aggregationsverarbeitung von mongodb verwenden. Außerdem seit Channels
ein Array ist, müssen Sie den $unwind-Operator verwenden, um das Array zu dekonstruieren.
Angenommen, Ihre Sammlung heißt example
, so können Sie sowohl die Dokumentensumme als auch den Durchschnitt von Channels.Value
erhalten s:
db.example.aggregate( [
{
"$unwind" : "$Channels"
},
{
"$group" : {
"_id" : "$_id",
"documentSum" : { "$sum" : "$Channels.Value" },
"documentAvg" : { "$avg" : "$Channels.Value" }
}
}
] )
Die Ausgabe der Daten Ihres Posts wäre:
{
"_id" : SomeObjectIdValue,
"documentSum" : 76,
"documentAvg" : 25.333333333333332
}
Wenn Sie mehr als ein Dokument in Ihrer Sammlung haben, sehen Sie eine Ergebniszeile für jedes Dokument, das einen Channels
enthält Array.