Definição
Retorna o último elemento de uma array.
Observação
Desambiguação
Esta página descreve $last quando usado como uma expressão, que retorna o último elemento de uma array.
Você também pode usar $last nestes outros contextos:
$last (accumulator), usado em agrupamento para retornar um valor para o último documento em cada grupo.$last (window function), usado no estágio$setWindowFieldspara retornar um valor para o último documento em uma janela.
Sintaxe
{ $last: <expression> }
O <expression> deve avaliar para uma array.
Comportamento
Se a array estiver vazia,
$lastretornaránull.Se a expressão avaliar como
nullou se referir a um campo ausente,$lastretornaránull.
Exemplo
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 $last para retornar o último membro do elenco listado para cada filme:
db.movies.aggregate( [ { $match: { title: { $in: [ "The Godfather", "Spirited Away", "The Dark Knight" ] } } }, { $addFields: { lastCast: { $last: "$cast" } } }, { $project: { _id: 0, title: 1, cast: 1, lastCast: 1 } }, { $sort: { title: 1 } } ] )
No pipeline anterior:
$matchfiltros para três filmes específicos.$addFieldscom$lastcria um novo campolastCastcontendo o último elemento da arraycast.$projectinclui apenas os campostitle,castelastCastno resultado.$sortordenar os resultados por título.