$exp (指数関数)
最終更新:2026-10-09
$exp (指数関数)
$exp は e の指定乗、つまり指数関数 e の x 乗を返します。e は約 2.71828 です。連続複利、指数平滑化、自然対数の逆変換に使われます。null または欠落した引数は null を返します。$exp と $ln は互いに逆で、$ln($exp(x)) は x に等しくなります。大きな指数は Infinity にオーバーフローする可能性があるため、精度を失わないよう先に $divide で入力をスケールしてください。
| カテゴリ | 数学 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $exp: <numeric-expression> }
⚙️ パラメータ
| 指数 | 指数の式。正負いずれでもかまいません。 |
|---|
戻り値:e を入力で累乗した値。null または欠落している場合は null
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $exp: 自然対数から元の値を復元
db.sales.aggregate([
{ $project: {
restored: { $exp: '$logAmount' }
} }
])
出力:
{ '_id': 1, 'restored': 100 }
{ '_id': 2, 'restored': 20 }
📌 注意事項
- $ln の逆関数
- 非常に大きな指数は Infinity にオーバーフローする
- null・欠落した引数は null を返す
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q$exp と $ln の関係は?
A互いに逆です。$ln($exp(x)) で x が復元されます。
Q$exp がオーバーフローしたらどうなりますか?
A巨大な指数では結果が Infinity になります。先に入力をスケールダウンしてください。
Q$exp(0) はいくつですか?
A1 です。e の 0 乗は 1 だからです。