Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

$avg (operador acumulador)

$avg

Devuelve el promedio de los valores numéricos de un grupo de documentos.

El acumulador $avg está disponible en estas etapas:

Nota

Desambiguación

Esta página describe $avg cuando se utiliza como acumulador. Los acumuladores devuelven un único valor agregado, como la suma, el máximo o el mínimo, de un grupo de documentos de entrada.

También puedes usar $avg en estos otros contextos:

{ $avg: <expression> }

El tipo de retorno predeterminado es double. Si al menos un valor de entrada es decimal, el tipo de retorno también será decimal.

$avg Ignora los valores no numéricos, incluidos los valores faltantes. Si todos los valores de entrada no son numéricos, $avg devuelve null.

Si el operando se resuelve en una matriz, $avg trata el operando como un valor no numérico.

Crea una colección sales con los siguientes documentos:

db.sales.insertMany( [
{ _id: 1, item: "abc", price: 10, quantity: 2, date: ISODate("2014-01-01T08:00:00Z") },
{ _id: 2, item: "jkl", price: 20, quantity: 1, date: ISODate("2014-02-03T09:00:00Z") },
{ _id: 3, item: "xyz", price: 5, quantity: 5, date: ISODate("2014-02-03T09:05:00Z") },
{ _id: 4, item: "abc", price: 10, quantity: 10, date: ISODate("2014-02-15T08:00:00Z") },
{ _id: 5, item: "xyz", price: 5, quantity: 10, date: ISODate("2014-02-15T09:12:00Z") }
] )

La siguiente operación:

  1. Agrupa los documentos por el campo item.

  2. Utiliza el acumulador $avg para calcular la cantidad promedio y la cantidad promedio para cada grupo.

db.sales.aggregate(
[
{
$group:
{
_id: "$item",
avgAmount: { $avg: { $multiply: [ "$price", "$quantity" ] } },
avgQuantity: { $avg: "$quantity" }
}
}
]
)

Salida:

[
{ _id: 'xyz', avgAmount: 37.5, avgQuantity: 7.5 },
{ _id: 'abc', avgAmount: 60, avgQuantity: 6 },
{ _id: 'jkl', avgAmount: 20, avgQuantity: 1 }
]
Califique esta página