对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs 菜单

$lastN (表达式)

$lastN

从大量末尾返回指定数量的元素。

注意

消歧

本页介绍了用作表达式时的 $lastN,该表达式从大量末尾返回指定数量的元素。

您还可以在其他上下文中使用 $lastN:

{ $lastN: { input: <expression>, n: <expression> } }
字段
类型
说明

input

表达式(expression)

要返回最后 n 个元素的大量。

n

表达式(expression)

$lastN 返回的元素数量。必须解析为正整数。

  • $lastN 会按照它们在输入数组中出现的相同顺序返回元素。

  • $lastN 不会过滤掉输入大量中的 null 值。

  • 不能指定小于 1 的 n 值。

  • 如果指定的 n 大于或等于 input大量中的元素数量,$lastN 将返回整个 input大量。

  • 如果 input 解析为非数组值,则表达式出错。

本页上的示例使用 sample_mflix 数据集中的数据。有关如何将此数据集加载到自管理MongoDB 部署中的详细信息,请参阅加载样本数据集。如果对示例数据库进行了任何修改,则可能需要删除并重新创建数据库才能运行本页上的示例。

以下示例使用 $lastN操作符返回每部电影的最后三位演员。转换成员将在 $addFields 创建的新字段lastThreeCast 中返回。

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 }
}
] )

上述管道:

给本页内容打分