Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

$log (agregação)

Nesta página

  • Definição
  • Comportamento
  • Exemplo
$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 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 Operadores de Expressão.

O tipo de retorno padrão é um double. Se pelo menos um operando for decimal, o tipo de retorno será decimal.

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

{ $log: [ 100, 10 ] }

2

{ $log: [ 100, Math.E ] } onde Math.E é uma representação JavaScript para e.

4.605170185988092

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 }

Dica

Veja também:

  • $log10

  • $ln

Voltar

$locf