$sqrt (平方根)
最終更新:2026-10-09
$sqrt (平方根)
$sqrt は単一の数値式の平方根を返します。幾何学、標準偏差風の計算、正規化(ユークリッド距離を計算する際の平方和の平方根など)に使われます。null または欠落した引数は null を返し、負の入力も実数の平方根が存在しないため null を返します。$sqrt は $pow: [x, 0.5] と同等ですが、意図がより明確です。整数、double、Decimal をサポートします。
| カテゴリ | 数学 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $sqrt: <numeric-expression> }
⚙️ パラメータ
| 数値 | 数値、または数値に解決される式。非負である必要があります。 |
|---|
戻り値:入力の平方根。入力が負、null、または欠落している場合は null
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $sqrt: 直角三角形の2辺から距離を計算
db.points.aggregate([
{ $project: {
distance: { $sqrt: { $add: [{ $pow: ['$x', 2] }, { $pow: ['$y', 2] }] } }
} }
])
出力:
{ '_id': 1, 'distance': 5 }
{ '_id': 2, 'distance': 10 }
📌 注意事項
- 負の入力は例外ではなく null を返す
- $pow: [x, 0.5] と同等だが意図が明確
- null・欠落した引数は null を返す
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q$sqrt は負の入力に何を返しますか?
Anull を返します。負の数には実数の平方根がありません。
Q$sqrt と $pow の関係は?
A$sqrt(x) は $pow: [x, 0.5] に等しいです。
Q$sqrt は Decimal をサポートしますか?
Aはい。Decimal を入力すると Decimal が返ります。