📜  MongoDB $pow 运算符

📅  最后修改于: 2022-05-13 01:56:58.370000             🧑  作者: Mango

MongoDB $pow 运算符

MongoDB 提供了不同类型的算术表达式运算符,用于聚合管道阶段, $pow运算符就是其中之一。此运算符用于查找指定指数的数字并返回结果。

句法:

{ $pow: [ ,  ] }


在这里,数字指数是有效的表达式,直到它解析为数字。

  • 如果输入的值解析为 null,则此运算符将返回 null。
  • 如果输入的值解析为 NaN,则此运算符将返回 NaN。
  • 如果输入的值引用了缺失的字段,则此运算符将返回 null。

结果将与输入具有相同的类型,但是当它无法在该类型中准确表示时可以更改它,例如在以下情况下:

  • 如果结果表示为 64 位整数,则 32 位整数将转换为 64 位整数。
  • 如果结果未表示为 64 位整数,则 32 位整数将转换为双精度数。
  • 如果结果未表示为 64 位整数,则 64 位整数将转换为 double。

例子:



在以下示例中,我们正在使用:

使用 $pow 运算符:

在这 例如我们将使用 $pow运算符找到正方形(即(边) 2的面积。这里,$pow运算符包含两个参数,第一个是边域的值(即 2),第二个是指数(即 2)。

db.example.aggregate([
... {$match: {name: "Square"}},
... {$project: {area: {$pow: ["$side", 2]}}}])

在嵌入式文档中使用 $pow 运算符:

这个 例如,我们要找到(measurement.height +measurement.width) 2 的值  使用 $pow运算符。这里,$pow运算符包含两个参数,第一个是measurement.height 和measurement.width 字段值的总和,第二个是指数(即2)。

db.example.aggregate([ {$match: {name: "Rectangle"}},
... {$project: {result:
... {$pow: [{$add:["$measurement.height", "$measurement.width"]}, 2]}}}])