Ich versuche, den Durchschnitt eines ganzen Feldes mit dem Aggregations-Framework in Mongo zu erhalten. Jedoch kann ich kein Beispiel finden, das es ohne einen Gruppenparameter verwendet.
Ich habe folgende Dokumentstruktur:
%Vor%Grundsätzlich möchte ich den Durchschnittswert des bvc-Feldes und jedes anderen numerischen Werts für die gesamte Sammlung auf schnellstmögliche Weise ermitteln (ohne MapReduce zu verwenden, da es weniger effizient ist als das Aggregationsframework) / p>
Ich habe versucht, auch auf einer größeren als Null-Basis zu gruppieren, aber ohne Erfolg:
%Vor%Ich schätze jede Hilfe, die Sie leisten könnten.
Referenzen: Mongo-Aggregationshandbuch
Speichern Sie zuerst numerische Werte als Zahlen. Danach können Sie eine einfache Anweisung verwenden, um den Durchschnitt zu berechnen:
%Vor% Sie können einfach weitere $avg
Aggregationsoperatoren verwenden, um Durchschnittswerte für Ihre anderen numerischen Felder zu erhalten:
Wenn also Ihre Daten tatsächlich numerisch waren, was nicht der Fall ist, und Sie die Dokumente ausschließen möchten, die einen "größer als null" Wert haben, dann fügen Sie ein $match
Anweisung in Ihrer Aggregationspipeline, um diese Dokumente" herauszufiltern ":
Tags und Links mongodb aggregation-framework