Página inicial do Docs → Desenvolver aplicações → Manual do MongoDB
$log (agregação)
Nesta página
Definição
$log
Calcula o registro de um número na base especificada e retorna o resultado como um valor duplo.
$log
tem a seguinte sintaxe:{ $log: [ <number>, <base> ] } A expressão
<number>
pode ser qualquer expressão válida, desde que resolva para um número não negativo.A expressão
<base>
pode ser qualquer expressão válida, desde que resolva para um número positivo maior que1
.Para mais informações sobre expressões, consulte Operadores de Expressão.
Comportamento
Se qualquer um dos argumentos resultar em um valor de null
ou se referir a um campo ausente, $log
retornará null
. Se qualquer um dos argumentos se resolver em NaN
, $log
retornará NaN
.
Exemplo | Resultados |
---|---|
{ $log: [ 100, 10 ] } | 2 |
{ $log: [ 100, Math.E ] } onde Math.E é uma representação JavaScript para e. | 4.605170185988092 |
Exemplo
Uma coleção integers
contém os seguintes documentos:
db.integers.insertMany( [ { _id: 1, int: 5 }, { _id: 2, int: 2 }, { _id: 3, int: 23 }, { _id: 4, int: 10 } ] )
O exemplo a seguir usa o registro 2 em seu cálculo para determinar o número de bits necessários para representar o valor de int
.
db.integers.aggregate([ { $project: { bitsNeeded: { $floor: { $add: [ 1, { $log: [ "$int", 2 ] } ] } } } } ])
A operação retorna os seguintes resultados:
{ "_id" : 1, "bitsNeeded" : 3 } { "_id" : 2, "bitsNeeded" : 2 } { "_id" : 3, "bitsNeeded" : 5 } { "_id" : 4, "bitsNeeded" : 4 }