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

$max (表达式)

$max

返回大量中的最大值。

注意

消歧

本页介绍了用作表达式的 $max,该表达式返回大量或值列表中的最大值。

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

{ $max: <expression> }

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

$max 按照BSON比较顺序比较输入数据,以确定适当的输出类型。 当输入数据包含多种数据类型时, $max输出类型是比较顺序中最高的类型。

如果 $max 的部分(而非全部)输入值为 null 或缺失,则 $max 仅考虑非空值和非缺失值。

如果 $max 的所有输入值为 null 或缺失,则 $max 返回 null。

使用单个表达式作为操作数时,如果表达式解析为大量$max 会遍历该大量以查找最大值。

将表达式列表作为其操作数,如果任何表达式解析为大量,$max 不会遍历该大量,而是将大量作为一个整体进行比较。

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

以下示例在 $project 阶段使用 $max 在三个评分源中查找每部电影的最高评分:IMDb、烂番茄查看器和烂番茄评论家:

db.movies.aggregate( [
{
$match: {
title: {
$in: [
"The Godfather",
"Schindler's List",
"The Dark Knight"
]
},
"imdb.rating": { $gt: 0 },
"tomatoes.viewer.rating": { $gt: 0 },
"tomatoes.critic.rating": { $gt: 0 }
}
},
{
$project: {
_id: 0,
title: 1,
highestRating: {
$max: [
"$imdb.rating",
"$tomatoes.viewer.rating",
"$tomatoes.critic.rating"
]
}
}
},
{ $sort: { title: 1 } }
] )

上述管道:

给本页内容打分