On this page
$ln (aggregation)
在本页面
Definition
$ln
- 3.2 版中的新功能。
计算数字的自然对数* ln *(即 loge),并以双精度值返回结果。
$ln具有以下语法:
{ $ln: <number> }
<number>
表达式可以是任何有效的expression,只要它可以解析为非负数即可。有关表达式的更多信息,请参见Expressions。
$ln等效于$log: [ <number>, Math.E ]
表达式,其中Math.E
是欧拉数* e *的 JavaScript 表示形式。
Behavior
如果参数解析为null
的值或引用了缺少的字段,则$ln
返回null
。如果参数解析为NaN
,则$ln
返回NaN
。
Example | Results |
---|---|
{ $ln: 1 } |
0 |
{ $ln: Math.E } ,其中Math.E 是* e *的 JavaScript 表示形式。 |
1 |
{ $ln: 10 } |
2.302585092994046 |
Example
集合sales
包含以下文档:
{ _id: 1, year: "2000", sales: 8700000 }
{ _id: 2, year: "2005", sales: 5000000 }
{ _id: 3, year: "2010", sales: 6250000 }
下面的示例转换sales
数据:
db.sales.aggregate( [ { $project: { x: "$year", y: { $ln: "$sales" } } } ] )
该操作返回以下结果:
{ "_id" : 1, "x" : "2000", "y" : 15.978833583624812 }
{ "_id" : 2, "x" : "2005", "y" : 15.424948470398375 }
{ "_id" : 3, "x" : "2010", "y" : 15.648092021712584 }
See also