$pow(作为算术表达式运算符)用于 MongoDB 的 Azure Cosmos DB (vCore)

$pow 运算符用于将数字提升到指定的指数。 在文档中需要数学计算的各种方案中,这非常有用。

语法

{ $pow: [ <number>, <exponent> ] }

参数

说明
<number> 要提高到指数的基数。
<exponent> 要提高基数的指数。

示例

示例 1:计算数字的平方

假设你想要计算文档中字段fullSalessales平方。

db.collection.aggregate([
  {
    $project: {
      fullSalesSquare: { $pow: [ "$sales.fullSales", 2 ] }
    }
  }
])

此输出显示 fullSalesSquare 字段包含的 fullSales正方形 。

[
  { "_id": 1, "sales": { "fullSales": 10 }, "fullSalesSquare": 100 },
  { "_id": 2, "sales": { "fullSales": 20 }, "fullSalesSquare": 400 },
  { "_id": 3, "sales": { "fullSales": 30 }, "fullSalesSquare": 900 }
]

示例 2:计算特定类别的总销售额的幂

如果要计算 totalSales “DJ 耳机”类别的幂为 3:

db.collection.aggregate([
  {
    $unwind: "$sales.salesByCategory"
  },
  {
    $match: { "sales.salesByCategory.categoryName": "DJ Headphones" }
  },
  {
    $project: {
      totalSalesCubed: { $pow: [ "$sales.salesByCategory.totalSales", 3 ] }
    }
  }
])

此输出显示 totalSales “DJ 耳机”类别的幂为 3 的值:

[
  {
    "_id": 4,
    "category": "DJ Headphones",
    "sales": { "salesByCategory": { "totalSales": 5 } },
    "totalSalesCubed": 125
  },
  {
    "_id": 5,
    "category": "DJ Headphones",
    "sales": { "salesByCategory": { "totalSales": 10 } },
    "totalSalesCubed": 1000
  }
]