Docs Menu
Docs Home
/ /

$log (operador de expresión)

$log

Calcula el logaritmo de un número en la base especificada y devuelve el resultado como doble.

$log tiene la siguiente sintaxis:

{ $log: [ <number>, <base> ] }

La expresión <number> puede ser cualquier valor válido. expresión siempre que se resuelva en un número no negativo.

La <base> expresión puede ser cualquier expresión válida siempre que se resuelva en un número positivo mayor 1 que.

Para obtener más información sobre las expresiones, consulta Expresiones.

El tipo de retorno por defecto es un double. Si al menos un operando es un decimal, entonces el tipo de retorno es un decimal.

Si alguno de los argumentos se resuelve como null o hace referencia a un campo faltante, $log devuelve null. Si alguno de los argumentos se resuelve como NaN, $log devuelve NaN.

Ejemplo
Resultados

{ $log: [ 100, 10 ] }

2

{ $log: [ 100, Math.E ] } donde Math.E es una representación de JavaScript para e.

4.605170185988092

Una colección integers contiene los siguientes documentos:

db.integers.insertMany( [
{ _id: 1, int: 5 },
{ _id: 2, int: 2 },
{ _id: 3, int: 23 },
{ _id: 4, int: 10 }
] )

El siguiente ejemplo utiliza log en su cálculo para determinar la cantidad de bits necesarios para representar el 2 valor int de.

db.integers.aggregate([
{ $project: { bitsNeeded:
{
$floor: { $add: [ 1, { $log: [ "$int", 2 ] } ] } } }
}
])

La operación devuelve los siguientes resultados:

{ "_id" : 1, "bitsNeeded" : 3 }
{ "_id" : 2, "bitsNeeded" : 2 }
{ "_id" : 3, "bitsNeeded" : 5 }
{ "_id" : 4, "bitsNeeded" : 4 }

Tip

  • $log10

  • $ln

Volver

$locf

En esta página