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

$lastN (expressão)

$lastN

Retorna o número especificado de elementos do final de uma matriz.

Observação

Desambiguação

Esta página descreve $lastN quando usado como uma expressão, que retorna o número especificado de elementos do final de uma array.

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

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

input

Expressão

A array a partir da qual retornar os últimos elementos n.

n

Expressão

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

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

  • $lastN 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, $lastN retornará a array input inteira.

  • Se input se resolver em um valor que não seja de array, haverá erros de expressão .

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 $lastN para retornar os últimos três membros do elenco para cada filme. Os membros do elenco são retornados no novo campo lastThreeCast criado por $addFields.

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

O pipeline anterior:

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

  • Usa $addFields com $lastN para criar um novo campo lastThreeCast contendo os últimos três elementos da array cast.

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

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