Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$log (operador de expresión)

$log

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

$log tiene la siguiente sintaxis:

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

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

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

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 en un valor de null o se refiere a un campo que falta, $log devuelve null. Si alguno de los argumentos se resuelve en NaN, $log retorna NaN.

Ejemplo
Resultados

{ $log: [ 100, 10 ] }

2

{ $log: [ 100, Math.E ] } donde Math.E es una representación en JavaScript de 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 2 en su cálculo para determinar la cantidad de bits necesarios para representar el valor de int.

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