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

$promedio (expresión)

$avg

Devuelve el promedio de los elementos de una matriz numérica.

Nota

Desambiguación

Esta página describe $avg cuando se usa como una expresión que devuelve el promedio de los elementos numéricos en una matriz.

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

Cuando se usa como expresión, $avg tiene una de estas sintaxis:

{ $avg: <expression> }

En esta sintaxis, el operando es una expresión única que se resuelve en un array. $avg recorre el array y devuelve el promedio de sus valores numéricos. Por ejemplo, { $avg: "$testScores" } devuelve el promedio de los valores numéricos del campo testScores del array.

{ $avg: [ <expression1>, <expression2> ... ] }

En esta sintaxis, cada expresión en el array de entrada es un único valor numérico. $avg devuelve el promedio de los valores de entrada individuales. Si alguna de las expresiones de entrada se resuelve en un array, $avg no recorre el array y, en su lugar, lo trata como un valor no numérico.

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.

Crea una colección students con los siguientes documentos:

db.students.insertMany( [
{ _id: 1, quizzes: [ 10, 6, 7 ], labs: [ 5, 8 ], final: 80, midterm: 75 },
{ _id: 2, quizzes: [ 9, 10 ], labs: [ 8, 8 ], final: 95, midterm: 80 },
{ _id: 3, quizzes: [ 4, 5, 5 ], labs: [ 6, 5 ], final: 78, midterm: 70 }
] )

La siguiente operación utiliza $avg en la etapa $project para calcular promedios para los siguientes campos:

  • quizzes

  • labs

  • Promedio combinado de final y midterm

db.students.aggregate( [
{
$project: {
quizAvg: { $avg: "$quizzes"},
labAvg: { $avg: "$labs" },
examAvg: { $avg: [ "$final", "$midterm" ] }
}
}
] )

Salida

[
{ _id: 1, quizAvg: 7.666666666666667, labAvg: 6.5, examAvg: 77.5 },
{ _id: 2, quizAvg: 9.5, labAvg: 8, examAvg: 87.5 },
{ _id: 3, quizAvg: 4.666666666666667, labAvg: 5.5, examAvg: 74 }
]
Califique esta página