Definição
- $log
- Calcula o registro de um número na base especificada e retorna o resultado como um valor duplo. - $logtem a seguinte sintaxe:- { $log: [ <number>, <base> ] } - A expressão - <number>pode ser qualquerexpressã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 que- 1.- Para mais informações sobre expressões, consulte Expressões. 
Comportamento
Se qualquer um dos argumentos for resolvido para 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 | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
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 }