MongoDB聚合运算符:$sqrt

MongoDB聚合运算符:$sqrt


$sqrt聚合运算符返回数值的平方根,数值必须为正数,返回值为双精度数。

语法

{ $sqrt: <number> }

<expression>为可解析为非负数的表达式。

使用

如果参数解析为 null 值或引用缺少的字段,则 $sqrt 返回 null。如果参数解析为 NaN,则 $sqrt 返回 NaN

如果参数为负数, $sqrt 将报错。

例子 结果
{ $sqrt: 25 } 5
{ $sqrt: 30 } 5.477225575051661
{ $sqrt: null } null

举例

points集合有下列文档:

{ _id: 1, p1: { x: 5, y: 8 }, p2: { x: 0, y: 5} }
{ _id: 2, p1: { x: -2, y: 1 }, p2: { x: 1, y: 5} }
{ _id: 3, p1: { x: 4, y: 4 }, p2: { x: 4, y: 0} }

下面的示例使用 $sqrt 计算 p1p2 之间的距离:

db.points.aggregate([
   {
     $project: {
        distance: {
           $sqrt: {
               $add: [
                  { $pow: [ { $subtract: [ "$p2.y", "$p1.y" ] }, 2 ] },
                  { $pow: [ { $subtract: [ "$p2.x", "$p1.x" ] }, 2 ] }
               ]
           }
        }
     }
   }
])

操作返回下面的结果:

{ "_id" : 1, "distance" : 5.830951894845301 }
{ "_id" : 2, "distance" : 5 }
{ "_id" : 3, "distance" : 4 }

相关推荐

  1. MongoDB聚合运算符:$sqrt

    2024-05-01 22:54:01       34 阅读
  2. MongoDB聚合: $sort

    2024-05-01 22:54:01       46 阅读
  3. MongoDB聚合运算符:$add

    2024-05-01 22:54:01       55 阅读
  4. MongoDB聚合运算符:$arrayToObject

    2024-05-01 22:54:01       53 阅读
  5. MongoDB聚合运算符;$dateToParts

    2024-05-01 22:54:01       53 阅读
  6. MongoDB聚合运算符:$dayOfWeek

    2024-05-01 22:54:01       55 阅读
  7. MongoDB聚合运算符:$dayOfMonth

    2024-05-01 22:54:01       52 阅读
  8. MongoDB聚合运算符;$dateToString

    2024-05-01 22:54:01       48 阅读
  9. MongoDB聚合运算符:$dayOfYear

    2024-05-01 22:54:01       48 阅读
  10. MongoDB聚合运算符:$denseRank

    2024-05-01 22:54:01       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 22:54:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 22:54:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 22:54:01       87 阅读
  4. Python语言-面向对象

    2024-05-01 22:54:01       96 阅读

热门阅读

  1. 笨蛋学C++之 C++对数据库实现CRUD

    2024-05-01 22:54:01       37 阅读
  2. vue3父组件调用子组件方法

    2024-05-01 22:54:01       33 阅读
  3. 如何将API 中的excel 文件load 到 Azure blob 中

    2024-05-01 22:54:01       35 阅读
  4. .requires_grad,.detach(),torch.no_grad()

    2024-05-01 22:54:01       30 阅读
  5. C/C++中的整数除法运算与汇编指令DIV和IDIV

    2024-05-01 22:54:01       35 阅读
  6. 如何看待AIGC技术

    2024-05-01 22:54:01       29 阅读
  7. Leetcode 590:N叉树的后序遍历

    2024-05-01 22:54:01       35 阅读
  8. Ubuntu 4G模块域名ping不通

    2024-05-01 22:54:01       29 阅读