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

$min(累加器操作符)

$min

返回一群组文档中的最小值。

$min累加器可在以下阶段使用:

注意

消歧

本页描述了用作累加器时的 $min。累加器返回一群组输入文档的聚合值,如总和、最大值或最小值。

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

{ $min: <expression> }

当 $min 比较不同类型的值时,它使用BSON比较顺序来确定哪个值较小。

如果某些文档具有该字段的 null 值或缺少该字段,则 $min 会忽略它们。它仅考虑非空值和非缺失值。

如果所有文档都具有该字段的 null 值或缺少该字段,则 $min 返回 null。

在 $group 阶段,如果表达式解析为大量,$min 不会遍历该大量。它将大量作为一个整体进行比较。

如果多个值相等,$min 可能会返回其中的任何一个值。无法提供 ACID 一致性保证来确定 $min 返回哪个相等值。

示例:在不区分大小写的排序规则下,"a" 和 "A" 可以相等。无法提供 ACID 一致性保证,也无法保证返回对象的顺序。

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

以下示例按 MPAA 评级对电影进行分组,并返回群组的最低 IMDb 评级。

db.movies.aggregate( [
{
$match: {
rated: { $in: [ "G", "PG", "PG-13", "R" ] },
"imdb.rating": { $type: "double" }
}
},
{
$group: {
_id: "$rated",
lowestRating: { $min: "$imdb.rating" }
}
},
{
$sort: { _id: 1 }
}
] )

上述管道:

  • 使用 $match过滤rated 值为 G、PG、PG-13 或 R 以及 IMDb 数字评分的电影。

  • 使用 $group 按 rated字段对电影进行群组,并在 imdb.rating 上使用 $min 计算 lowestRating。

  • 使用 $sort 按内容分级的字母顺序返回结果。

给本页内容打分