Definición
Devuelve el último elemento de un array.
Nota
Desambiguación
Esta página describe $last cuando se usa como una expresión que devuelve el último elemento de una matriz.
También puedes usar $last en estos otros contextos:
$last (accumulator), utilizado en la agrupación para devolver un valor para el último documento de cada grupo.$last (window function), utilizado en la etapa$setWindowFieldspara devolver un valor para el último documento en una ventana.
Sintaxis
{ $last: <expression> }
El <expression> debe evaluarse como un array.
Comportamiento
Si el array está vacío,
$lastdevuelvenull.Si la expresión se evalúa como
nullo hace referencia a un campo faltante,$lastdevuelvenull.
Ejemplo
Los ejemplos de esta página utilizan datos del conjunto de datos sample_mflix. Para obtener más información sobre cómo cargar este conjunto de datos en su implementación autogestionada de MongoDB, consulte Cargar el conjunto de datos de ejemplo. Si realizó alguna modificación en las bases de datos de ejemplo, es posible que deba eliminarlas y volver a crearlas para ejecutar los ejemplos de esta página.
El siguiente ejemplo utiliza $last para devolver el último miembro del reparto listado para cada película:
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 } } ] )
En el pipeline anterior:
$matchFiltros para tres películas específicas.$addFieldscon$lastcrea un nuevo campolastCastque contiene el último elemento del arraycast.$projectincluye solo los campostitle,castylastCasten la salida.$sortordena los resultados por título.