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.
Docs Menu

$max (operador de acumulación)

$max

Devuelve el valor máximo. $max compara tanto el valor como el tipo, utilizando el orden de comparación BSON especificado para valores de distintos tipos.

El acumulador $max está disponible en estas etapas:

Nota

Desambiguación

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

También puede usar $max en estos otros contextos:

{ $max: <expression> }

$max compara los datos de entrada siguiendo el orden de comparación BSON para determinar el tipo de resultado adecuado. Cuando los datos de entrada contienen múltiples tipos de datos, el tipo de salida $max es el más alto en el orden de comparación.

Si algunos, pero no todos, los valores de entrada para $max son null o faltan, $max solo considera los valores no nulos y no ausentes.

Si **todos** los valores de entrada para $max son null o faltan, $max nulldevuelve.

En la etapa $group, si la expresión se resuelve en un arreglo, $max no recorre el arreglo y compara el arreglo como un todo.

Si varios valores se comparan como iguales, $max puede devolver cualquiera de esos valores. No hay garantías de qué valor igual devuelve $max.

Por ejemplo, en una intercalación sin distinción entre mayúsculas y minúsculas, "a" y "A" pueden compararse como iguales. No hay garantías de cuál se devolverá.

Los ejemplos de esta página utilizan datos del conjunto de datos sample_mflix. Para obtener más información sobre cómo cargar este conjunto de datos en la implementación autogestionada de MongoDB, consultar Cargar el conjunto de datos de muestra. Si realizó alguna modificación en las bases de datos de muestra, es posible que deba descartar y volver a crear las bases de datos para ejecutar los ejemplos de esta página.

El siguiente ejemplo utiliza $max en una etapa $group para encontrar la calificación IMDb más alta y la duración más larga para películas en cada categoría de calificación:

db.movies.aggregate( [
{
$match: {
rated: { $in: [ "G", "PG", "PG-13", "R" ] },
"imdb.rating": { $gt: 0 },
runtime: { $gt: 0 }
}
},
{ $sort: { rated: 1 } },
{
$group: {
_id: "$rated",
maxImdbRating: { $max: "$imdb.rating" },
maxRuntime: { $max: "$runtime" }
}
},
{ $sort: { _id: 1 } }
] )

El pipeline anterior:

  • Utiliza $match para usar un filtro para películas con una calificación común de EE. UU., una calificación válida de IMDb y una duración conocida.

  • Ordena los documentos por rated para garantizar un orden de agrupación coherente.

  • Utiliza $group con $max para encontrar la calificación IMDb más alta y la duración más larga para cada grupo rated.

  • Ordena la salida alfabéticamente por categoría de calificación.

Califique esta página