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

$firstN (expressão)

$firstN

Retorna o número especificado de elementos desde o início de uma array.

Observação

Desambiguação

Esta página descreve $firstN quando usado como uma expressão, que retorna o número especificado de elementos desde o início de uma array.

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

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

input

Expressão

A array a partir da qual retornar os primeiros elementos n .

n

Expressão

O número de elementos que $firstN retorna. Deve resolver para um número inteiro positivo.

  • $firstN retorna elementos na mesma ordem em que aparecem na array de entrada.

  • $firstN não filtra valores null na array de entrada.

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

  • Se o n especificado for maior ou igual ao número de elementos na array input, $firstN retornará a array input inteira.

  • Se input resolver para um valor que não seja da array, a operação de agregação será executada.

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 $firstN para retornar os três primeiros membros do elenco de cada filme. Os membros do elenco são retornados no novo campo firstThreeCast criado por $addFields.

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

O pipeline anterior:

  • Utiliza $match para filtrar três filmes específicos.

  • Usa $addFields com $firstN para criar um novo campo firstThreeCast contendo os três primeiros elementos da array cast com n: 3.

  • Usa $project para incluir somente os campos title, cast e firstThreeCast no resultado.

  • Utiliza $sort para classificar os resultados por título.