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.
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 n valores mínimos em um array.

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

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

n

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

input

Uma expressão que resolve a array da qual retornar os n elementos mínimos.

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

  • $minN aplica o filtro aos valores de null encontrados no array input.

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

  • Se input resolver para um valor que não seja da array, a expressão produzirá um erro.

  • Se input contiver elementos de tipos diferentes, as comparações entre tipos seguem 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 este conjunto de dados em sua implantação do MongoDB autogerenciado, consulte Carregar o conjunto de dados de amostra. Se você fez alguma modificação 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 em ordem alfabética 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 filtro filmes que têm pelo menos três gêneros.

  • Usa $addFields para criar um campo firstAlphabeticalGenres. $minN com n: 2 retorna os dois primeiros valores em ordem alfabética do array genres.

  • Usa $project para retornar apenas os campos title, genres e firstAlphabeticalGenres.

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