$log(集計)
定義
動作
デフォルトの戻り値の型は double
です。少なくとも1つのオペランドが decimal
の場合、戻り値の型は10進数です。
引数がnull
の値に解決されるか、欠落しているフィールドを参照する場合、 $log
はnull
を返します。 いずれかの引数がNaN
に解決された場合、 $log
はNaN
を返します。
例 | 結果 |
---|---|
{ $log: [ 100, 10 ] } | 2 |
{ $log: [ 100, Math.E ] } 上記で、 Math.E はeの JavaScript 表現です。 | 4.605170185988092 |
例
コレクション integers
には次のドキュメントが含まれています。
db.integers.insertMany( [ { _id: 1, int: 5 }, { _id: 2, int: 2 }, { _id: 3, int: 23 }, { _id: 4, int: 10 } ] )
次の例では、ログ2を使用して、 int
の値を表すために必要なビット数を決定します。
db.integers.aggregate([ { $project: { bitsNeeded: { $floor: { $add: [ 1, { $log: [ "$int", 2 ] } ] } } } } ])
この操作は次の結果を返します。
{ "_id" : 1, "bitsNeeded" : 3 } { "_id" : 2, "bitsNeeded" : 2 } { "_id" : 3, "bitsNeeded" : 5 } { "_id" : 4, "bitsNeeded" : 4 }