对于 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:

{
$setWindowFields: {
...
output: {
<field>: {
$min: <expression>
}
}
}
}

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

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

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

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

此示例使用 $setWindowFields 向每个包含同年上映的评分最差电影的 IMDb 评分的文档添加一个字段:

db.movies.aggregate( [
{
$match: {
year: { $in: [ 1999, 2000, 2001 ] },
"imdb.rating": { $lte: 3.5 }
}
},
{
$setWindowFields: {
partitionBy: "$year",
sortBy: { title: 1 },
output: {
minimumRatingInYear: {
$min: "$imdb.rating",
window: {
documents: [ "unbounded", "unbounded" ]
}
},
rankInYear: {
$documentNumber: {}
}
}
}
},
{
$project: {
_id: 0,
title: 1,
year: 1,
imdb: { rating: "$imdb.rating" },
minimumRatingInYear: 1,
rankInYear: 1
}
},
{ $sort: { year: 1, title: 1 } }
] )

上述管道:

给本页内容打分