$log (집계)
정의
행동
기본 반환 유형은 double
입니다. 피연산자 중 하나라도 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 }