As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
$last
O $last operador no Amazon DocumentDB é usado para retornar o último elemento em uma matriz que corresponda aos critérios da consulta. É particularmente útil para recuperar o elemento mais recente ou o último em uma matriz que satisfaça uma condição específica.
Parâmetros
-
expression: a expressão que corresponde aos elementos da matriz.
Exemplo (MongoDB Shell)
O exemplo a seguir demonstra o uso do $last operador em combinação com $filter para recuperar o último elemento de uma matriz que atende a uma condição específica (por exemplo, o assunto é 'ciência').
Crie documentos de amostra
db.collection.insertMany([ { "_id": 1, "name": "John", "scores": [ { "subject": "math", "score": 82 }, { "subject": "english", "score": 85 }, { "subject": "science", "score": 90 } ] }, { "_id": 2, "name": "Jane", "scores": [ { "subject": "math", "score": 92 }, { "subject": "english", "score": 88 }, { "subject": "science", "score": 87 } ] }, { "_id": 3, "name": "Bob", "scores": [ { "subject": "math", "score": 75 }, { "subject": "english", "score": 80 }, { "subject": "science", "score": 85 } ] } ]);
Exemplo de consulta
db.collection.aggregate([ { $match: { name: "John" } }, { $project: { name: 1, lastScienceScore: { $last: { $filter: { input: "$scores", as: "score", cond: { $eq: ["$$score.subject", "science"] } } } } } } ]);
Saída
[
{
_id: 1,
name: 'John',
lastScienceScore: { subject: 'science', score: 90 }
}
]
Exemplos de código
Para ver um exemplo de código para usar o $last comando, escolha a guia do idioma que você deseja usar: