$ln(集計)
定義
$ln
数値の自然対数Ln (log e )を計算し、その結果を double として返します。
$ln
の構文は次のとおりです。{ $ln: <number> } <number>
式は、負でない数に変換される限り、有効な式であれば何でも使用できます。 式の詳細については、「式演算子 」を参照してください。$ln
は$log: [ <number>, Math.E ]
式と同等であり、Math.E
はユーラーの数値eの JavaScript 表現です。
動作
デフォルトの戻り値の型は double
です。少なくとも1つのオペランドが decimal
の場合、戻り値の型は10進数です。
引数がnull
の値に解決されるか、欠落しているフィールドを参照する場合、 $ln
はnull
を返します。 引数がNaN
に解決されると、 $ln
はNaN
を返します。
例 | 結果 |
---|---|
{ $ln: 1 } | 0 |
{ $ln: Math.E } 上記で、 Math.E はeの JavaScript 表現です。 | 1 |
{ $ln: 10 } | 2.302585092994046 |
例
コレクション sales
には次のドキュメントが含まれています。
{ _id: 1, year: "2000", sales: 8700000 } { _id: 2, year: "2005", sales: 5000000 } { _id: 3, year: "2010", sales: 6250000 }
次の例では、 sales
データを変換しています。
db.sales.aggregate( [ { $project: { x: "$year", y: { $ln: "$sales" } } } ] )
この操作は次の結果を返します。
{ "_id" : 1, "x" : "2000", "y" : 15.978833583624812 } { "_id" : 2, "x" : "2005", "y" : 15.424948470398375 } { "_id" : 3, "x" : "2010", "y" : 15.648092021712584 }