Definición
$logCalcula el logaritmo de un número en la base especificada y devuelve el resultado como doble.
$logtiene 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 mayor1que.Para obtener más información sobre las expresiones, consulta Expresiones.
Comportamiento
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 |
|---|---|
|
|
|
|
Ejemplo
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 }