$max(最大值累加器)

最后更新:2026-10-09

$max(最大值累加器)

$max 是累加器,返回一组文档中指定字段的最大值,在 $group 中使用;也可在 $project 中返回数组元素的最大值。比较遵循 BSON 类型排序,数值与字符串等不同类型间也能比较。忽略缺失字段。

分类累加器
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $group: { _id: <键>, max: { $max: "$字段" } } }

返回值:组内最大值(按 BSON 类型顺序比较)

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $max:按商品统计最高价
db.sales.aggregate([
  { $group: { _id: '$item', max: { $max: '$price' } } }
])

运行结果:

{ "_id": "Pen", "max": 80 }
{ "_id": "Book", "max": 25 }

📌 注意事项

📚 相关教程

❓ 常见问题

Q$max 能比较字符串吗?
A能,字符串按字典序比较;不同类型按 BSON 类型排序。
Q$max 和 $sort 加 $limit 有什么区别?
A$max 在组内一次算完更高效;$sort 加 $limit 适合取整组 Top 1 且需要整条文档。
Q$max 在 $project 里怎么用?
A对数组字段取最大元素,如 { $project: { m: { $max: '$scores' } } }。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏