对于 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 菜单

$first (表达式)

$first

返回大量的第一个元素。

注意

消歧

本页介绍了用作表达式时的 $first,该表达式返回大量的第一个元素。

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

{ $first: <expression> }

<expression> 的计算结果必须是一个大量。

  • 如果操作数表达式的计算结果为大量,则 $first 返回该大量的第一个元素。

  • 如果大量为空,$first 将返回 null。

  • 如果表达式的计算结果为 null 或引用缺失字段,则 $first 返回 null。

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

以下示例使用 $first 返回每部电影排名最高的演员。在 sample_mflix 数据集中,cast大量按账单顺序列出演员,因此第一个元素是账单最高的演员:

db.movies.aggregate( [
{
$match: {
title: { $in: [ "The Godfather", "Pulp Fiction", "Forrest Gump" ] }
}
},
{
$addFields: {
topBilledActor: { $first: "$cast" }
}
},
{
$project: {
_id: 0,
title: 1,
cast: 1,
topBilledActor: 1
}
},
{ $sort: { title: 1 } }
] )

在前面的管道中:

  • $match 筛选三部特定电影。

  • $addFields 与 $first 会创建一个新字段topBilledActor,其中包含 cast大量的第一个元素。

  • $project 在输出中仅包含 title、cast 和 topBilledActor 字段。

  • $sort 按标题对结果进行排序。

给本页内容打分