定義
配列の最後の要素を返します。
注意
曖昧さ回避
$lastこのページでは、配列の最後の要素を返す式として使用される場合の について説明します。
次の他のコンテキストでは $last を使用することもできます。
$last (accumulator)は、各グループ内の最後のドキュメントの値を返すためにグループ化で使用されます。$last (window function)$setWindowFieldsは、ウィンドウ内の最後のドキュメントの値を返すために ステージで使用されます。
構文
{ $last: <expression> }
<expression> は配列に評価される必要があります。
動作
配列が空の場合、
$lastはnullを返します。式が
nullと評価された場合、または欠落しているフィールドを参照する場合、$lastはnullを返します。
例
このページの例では、 sample_mflix データセット のデータを使用します。このデータセットを自己管理型MongoDBデプロイにロードする 方法の詳細については、「 サンプル データセットをロードする 」を参照してください。サンプルデータベースに変更を加えた場合、このページの例を実行するには、データベースを削除して再作成する必要がある場合があります。
次の例では、$last を使用して、各映画にリストされた最後のキャスト メンバーを返します。
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 } } ] )
上記のパイプラインでは、
$match3 つの特定の映画のフィルターです。$addFieldsと は、$lastlastCast配列の最後の要素を含む新しいフィールドcastを作成します。$projecttitlecastでは出力に 、 、lastCastフィールドのみが含まれます。$sortは、結果をタイトル別にソートします。