$sqrt(平方根)

最后更新:2026-10-09

$sqrt(平方根)

$sqrt返回数值的平方根,接受单个数值表达式。常用于几何计算、标准差相关运算、归一化等场景,例如求欧氏距离时先求平方和再开方。参数为null或缺失时返回null;负数输入返回null,因为实数域没有负数平方根。$sqrt与$pow: [x, 0.5]等价但更语义化,代码可读性更好。支持整数、double与Decimal类型。

分类数学
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $sqrt: <数值表达式> }

⚙️ 参数

数值数值或解析为数值的表达式,必须是非负数。

返回值:输入的平方根;负数、null或缺失时返回null

▶ 示例

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

// $sqrt:由两个直角边求距离
db.points.aggregate([
  { $project: {
      distance: { $sqrt: { $add: [{ $pow: ['$x', 2] }, { $pow: ['$y', 2] }] } }
  } }
])

运行结果:

{ '_id': 1, 'distance': 5 }
{ '_id': 2, 'distance': 10 }

📌 注意事项

更多实战案例即将上线,敬请期待。

📚 相关教程

❓ 常见问题

Q$sqrt对负数返回什么?
A返回null,实数域中负数没有平方根。
Q$sqrt和$pow怎么换算?
A$sqrt(x)等于$pow: [x, 0.5]。
Q$sqrt支持Decimal吗?
A支持,Decimal输入返回Decimal结果。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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