Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual 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 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 que 1.

Para mais informações sobre expressões, consulte Operadores de Expressão.

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

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

← $locf (agregação)