文章目录
- MongoDB聚合运算符:$ln
- 语法
- 使用
- 举例
 
MongoDB聚合运算符:$ln
$ln聚合运算符计算数字的自然对数ln(即 log e)并将结果作为双精度值返回。
语法
{ $ln: <number> }
<number>表达式可以是任何有效的表达式,只要它解析为非负数即可。
$ln等价于$log: [ <number>, Math.E ]表达式,其中Math.E是欧拉数e的JavaScript表示法。
使用
如果参数解析为null或引用缺失的字段,则$ln返回null。如果参数解析为NaN,则$ln返回NaN。
| 例如 | 结果 | 
|---|---|
| { $ln: 1 } | 0 | 
| { $ln: Math.E } | 1 | 
| { $ln: 10 } | 2.302585092994046 | 
举例
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 }