Wie berechne ich einen gewichteten Durchschnitt in MongoDB mithilfe des Aggregations-Frameworks?
Ich muss den gewichteten Durchschnitt für eine Reihe von Dokumenten berechnen. Jedes Dokument enthält sowohl ein Gewicht als auch einen Wert in einem separaten Feld. Hier ist ein Beispiel: Ich habe folgende 2 Dokumente, die einen Verkaufsvorgang darstellen.
{
quantity : 3,
price : 2
}
{
quantity : 9,
price : 6
}
Ich möchte den Durchschnittspreis für beide Transaktionen ermitteln. Dies ist ein gewichteter Durchschnitt, bei dem Gewicht die Menge und Wert der Preis ist. Dies kann mit berechnet werden
AveragePrice = (3 * 2 + 9 * 6 ) / (3 + 9)
.
Wie führe ich diese Berechnung mit dem Aggregationsframework durch?