$ln (agregação)
Nesta página
Definição
$ln
Calcula o logaritmo natural n (ou seja, log e) de um número e retorna o resultado como um valor duplo.
$ln
tem a seguinte sintaxe:{ $ln: <number> } A expressão
<number>
pode ser qualquerexpressão válida, desde que resolva para um número não negativo. Para obter mais informações sobre expressões, consulte Operadores de expressão.$ln
é equivalente à expressão$log: [ <number>, Math.E ]
, em queMath.E
é uma representação JavaScript para o número de Euler e.
Comportamento
O tipo de retorno padrão é um double
. Se pelo menos um operando for decimal
, o tipo de retorno será decimal.
Se o argumento for resolvido para um valor de null
ou se referir a um campo ausente, $ln
retornará null
. Se o argumento se resolve em NaN
, $ln
retorna NaN
.
Exemplo | Resultados |
---|---|
{ $ln: 1 } | 0 |
{ $ln: Math.E } onde Math.E é uma representação JavaScript para e. | 1 |
{ $ln: 10 } | 2.302585092994046 |
Exemplo
Uma coleção sales
contém os seguintes documentos:
{ _id: 1, year: "2000", sales: 8700000 } { _id: 2, year: "2005", sales: 5000000 } { _id: 3, year: "2010", sales: 6250000 }
O exemplo a seguir transforma os dados do sales
:
db.sales.aggregate( [ { $project: { x: "$year", y: { $ln: "$sales" } } } ] )
A operação retorna os seguintes resultados:
{ "_id" : 1, "x" : "2000", "y" : 15.978833583624812 } { "_id" : 2, "x" : "2005", "y" : 15.424948470398375 } { "_id" : 3, "x" : "2010", "y" : 15.648092021712584 }