Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
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