¿Cómo calculo un promedio ponderado en mongoDB usando el marco de agregación?

Necesito calcular el promedio ponderado sobre un conjunto de documentos. Cada documento contiene tanto un peso como un valor en un campo separado. Aquí hay un ejemplo: tengo los siguientes 2 documentos que representan una transacción de venta.

{
    quantity : 3,
    price : 2
}

{
    quantity : 9,
    price : 6
}

Quiero encontrar el precio promedio de ambas transacciones. Este es un promedio ponderado donde el peso es la cantidad y el valor es el precio. Esto puede ser calculado por

AveragePrice = (3 * 2 + 9 * 6 ) / (3 + 9).

¿Cómo realizo este cálculo usando el marco de agregación?

Respuestas a la pregunta(1)

Su respuesta a la pregunta