$stdDevPop(总体标准差累加器)
最后更新:2026-10-09
$stdDevPop(总体标准差累加器)
$stdDevPop 是累加器,计算组内指定字段的总体标准差,分母为 N 而不是 N-1。适用于数据代表整个总体的场景,如全校成绩。忽略非数字值。与 $stdDevSamp 的区别只在分母。
| 分类 | 累加器 |
|---|---|
| MongoDB 版本 | 3.2+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $group: { _id: <键>, dev: { $stdDevPop: "$字段" } } }
返回值:总体标准差数值(忽略非数字值)
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $stdDevPop:各班分数的总体标准差
db.scores.aggregate([
{ $group: { _id: '$class', dev: { $stdDevPop: '$score' } } }
])
运行结果:
{ "_id": "A", "dev": 12.34 }
📌 注意事项
- 总体标准差用 N 作分母,样本标准差用 N-1
- 忽略 null 和非数字值
- 组内没有数值时返回 null
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q$stdDevPop 和 $stdDevSamp 有什么区别?
A$stdDevPop 按总体计算(分母 N),$stdDevSamp 按样本计算(分母 N-1)。
Q什么时候用 $stdDevPop?
A数据覆盖全部总体时用,如全校成绩而非抽样。
Q组内全是非数值会怎样?
A返回 null。