AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

$pow(式 演算子)

$pow

指定した指数まで数値を上げ、結果を返します。 $powの構文は次のとおりです。

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

<number>式は、数値に変換される限り、どのような有効な式でもかまいません。

<exponent>式は、数値に変換される限り、どのような有効な式でもかまいません。

0を負の指数に上げることはできません。

結果は、その型で正確に表現できない場合を除き、入力と同じ型になります。この場合、以下のとおり動作します。

  • 結果が 64 ビット整数として表現可能な場合は、32 ビット整数は 64 ビット整数に変換されます。

  • 結果が 64 ビット整数として表現不可能な場合は、32 ビット整数は double に変換されます。

  • 結果が 64 ビット整数として表現不可能な場合は、64 ビット整数は double に変換されます。

引数がnullの値に解決されるか、欠落しているフィールドを参照する場合、 $powはnullを返します。 いずれかの引数がNaNに解決された場合、 $powはNaNを返します。

例
結果

{ $pow: [ 5, 0 ] }

1

{ $pow: [ 5, 2 ] }

25

{ $pow: [ 5, -2 ] }

0.04

{ $pow: [ -5, 0.5 ] }

NaN

次のドキュメントを含むquizzesというコレクションを作成します。

db.quizzes.insertMany( [ { _id : 1, scores : [ { name : "dave123", score : 85 }, { name : "dave2", score : 90 }, { name : "ahn", score : 71 } ] }, { _id : 2, scores : [ { name : "li", quiz : 2, score : 96 }, { name : "annT", score : 77 }, { name : "ty", score : 82 } ] }] )

次の例では、各クイズの分散を計算します。

db.quizzes.aggregate( [ { $project: { variance: { $pow: [ { $stdDevPop: "$scores.score" }, 2 ] } } }] )

この操作は次の結果を返します。

{ _id : 1, variance : 64.66666666666667 }{ _id : 2, variance : 64.66666666666667 }
このページを評価

項目一覧