Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Menu Docs

$minN (operador de expressão )

$minN

Retorna os menores valores de n em uma array.

Observação

Desambiguação

Esta página descreve $minN quando usado como uma expressão, que retorna os valores mínimos de n em uma array.

Você também pode usar $minN nestes outros contextos:

{ $minN: { n: <expression>, input: <expression> } }
Campo
Descrição

n

Uma expressão que avalia para um número inteiro positivo. O número inteiro especifica o número de elementos de array que $minN retorna.

input

Uma expressão que avalia para a array a partir da qual retornar os elementos mínimos de n.

  • Você não pode especificar um valor de n menor que 1.

  • $minN filtra valores null encontrados na array input.

  • Se o n especificado for maior ou igual ao número de elementos na array input, $minN retornará todos os elementos na array input.

  • Se input se resolver em um valor que não seja de array, a expressão produzirá um erro.

  • Se input contiver elementos de tipos diferentes, as comparações entre tipos seguirão a ordem de comparação BSON.

Os exemplos nesta página usam dados do conjunto de dados sample_mflix. Para obter detalhes sobre como carregar esse conjunto de dados em sua implantação autogerenciada do MongoDB , consulte Carregar o conjunto de dados de amostra. Se você fez modificações nos bancos de dados de amostra, talvez seja necessário descartar e recriar os bancos de dados para executar os exemplos nesta página.

O exemplo a seguir usa o operador $minN para retornar os dois primeiros gêneros alfabeticamente para cada filme. Os resultados são retornados no novo campo firstAlphabeticalGenres criado 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 }
] )

O pipeline anterior:

  • Usa $match para filtrar filmes que tenham pelo menos três gêneros.

  • Utiliza $addFields para criar um campofirstAlphabeticalGenres. $minN com n: 2 retorna os dois primeiros valores alfabeticamente da array genres.

  • Utiliza $project para retornar somente os campos title, genres e firstAlphabeticalGenres.

  • Usa $limit para retornar cinco documentos para melhorar a legibilidade.