$median(中位数累加器)
最后更新:2026-10-09
$median(中位数累加器)
$median 是累加器,返回组内指定数值字段的中位数,自 MongoDB 7.0 起可用。中位数是排序后位于中间位置的值,对异常值不敏感。method 参数可选 approximate(近似算法,更快)或 exact(精确计算)。
| 分类 | 累加器 |
|---|---|
| MongoDB 版本 | 7.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $group: { _id: <键>, med: { $median: { input: "$字段", method: "approximate" } } } }
返回值:组内中位数数值
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $median:每部门工资中位数
db.salaries.aggregate([
{ $group: { _id: '$dept', med: { $median: { input: '$salary', method: 'approximate' } } } }
])
运行结果:
{ "_id": "ENG", "med": 42000 }
📌 注意事项
- 需要 MongoDB 7.0 及以上版本
- method 支持 approximate 和 exact 两种算法
- 忽略缺失字段,输入应为数字
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q$median 需要什么版本?
AMongoDB 7.0 及以上。
Qapproximate 和 exact 有什么区别?
Aapproximate 用分位数近似算法更快;exact 精确但更耗资源。
Q$median 和 $percentile 有什么关系?
A$median 是第 50 百分位数,$percentile 可算任意百分位。