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

$minN (operador de expresión)

$minN

Devuelve los n valores más pequeños en un arreglo.

Nota

Desambiguación

Esta página describe $minN cuando se utiliza como expresión, que devuelve los n valores mínimos de un arreglo.

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

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

n

Una expresión que se evalúa como un número entero positivo. El entero especifica el número de elementos del arreglo que devuelve $minN.

input

Una expresión que se evalúa como el arreglo del que se devuelven los n elementos mínimos.

  • No puedes especificar un valor de n menor que 1.

  • $minN filtra los valores de null encontrados en el arreglo input.

  • Si el n especificado es mayor o igual al número de elementos en el arreglo input, $minN devuelve todos los elementos en el arreglo input.

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

  • Si input contiene elementos de diferentes tipos, las comparaciones entre tipos siguen 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 el operador $minN para devolver los dos primeros géneros alfabéticamente para cada película. Los resultados se devuelven en el nuevo campo firstAlphabeticalGenres creado por $addFields.

db.movies.aggregate( [
{ $match: { $expr: { $gte: [ { $size: "$genres" }, 3 ] } } },
{
$addFields: {
firstAlphabeticalGenres: { $minN: { n: 2, input: "$genres" } }
}
},
{
$project: {
_id: 0,
title: 1,
genres: 1,
firstAlphabeticalGenres: 1
}
},
{ $limit: 5 }
] )

El pipeline anterior:

  • Utiliza $match para usar el filtro películas que tengan al menos tres géneros.

  • Utiliza $addFields para crear un campo firstAlphabeticalGenres. $minN con n: 2 devuelve los dos primeros valores alfabéticamente del arreglo genres.

  • Utiliza $project para devolver solo los campos title, genres y firstAlphabeticalGenres.

  • Utiliza $limit para devolver cinco documentos para mejorar la legibilidad.

Califique esta página