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 usa como una expresión, que devuelve los valores n más grandes de una matriz.

También puedes 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 deben devolver. Debe ser un número entero positivo.

input

expresión

Especifica el array de entrada del que se devolverán los elementos n máximos.

  • $maxN Filtra los valores null.

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

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

  • Si input contiene elementos numéricos y de cadena, los elementos de cadena se ordenan antes que los elementos numéricos según el orden de comparación 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 su implementación autogestionada de MongoDB, consulte Cargar el conjunto de datos de ejemplo. Si realizó alguna modificación en las bases de datos de ejemplo, es posible que deba eliminarlas y volver a crearlas para ejecutar los ejemplos de esta página.

El siguiente ejemplo utiliza $maxN para devolver los dos últimos miembros del reparto alfabéticamente para 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 }
}
] )

La tubería precedente:

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

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

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

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