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

$maxN (operador de expresión)

$maxN

Devuelve los valores más grandes de n en un arreglo.

Nota

Otros usos de $maxN

Esta página describe $maxN cuando se utiliza como una expresión, que devuelve los n valores más grandes de un arreglo.

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

{ $maxN: { n: <expression>, input: <expression> } }
Campo
Tipo
Descripción

n

expresión

Especifica el número de elementos que se van a devolver. Debe ser un entero positivo.

input

expresión

Especifica el arreglo de entrada del que se devolverá un máximo de n elementos.

  • $maxN filtro los valores null.

  • Si el arreglo input contiene menos de n elementos, $maxN devuelve todos los elementos del arreglo.

  • Si input se resuelve en un valor que no es un arreglo, la operación devuelve un error.

  • Si input contiene elementos numéricos y de string, los elementos de string se ordenan antes que los elementos numéricos según el orden de comparación de BSON.

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 $maxN para devolver los dos nodos de reparto alfabéticamente últimos de cada película, almacenados en un nuevo campo topTwoCast creado por $addFields.

db.movies.aggregate( [
{
$match: {
title: { $in: [ "The Godfather", "Spirited Away", "The Dark Knight" ] }
}
},
{
$addFields: {
topTwoCast: { $maxN: { n: 2, input: "$cast" } }
}
},
{
$project: {
_id: 0,
title: 1,
cast: 1,
topTwoCast: 1
}
},
{
$sort: { title: 1 }
}
] )

El pipeline anterior:

  • Utiliza $match como filtro para tres películas específicas.

  • Utiliza $addFields con $maxN para crear un nuevo campo topTwoCast que contiene los dos valores alfabéticamente últimos del arreglo cast con n: 2.

  • Utiliza $project para incluir solo los campos title, cast y el topTwoCast en la salida.

  • Utiliza $sort para ordenar los resultados por título.