$ln(自然对数)
最后更新:2026-10-09
$ln(自然对数)
$ln返回数值的自然对数(以e为底)。常用于增长率计算、数据平滑、对数坐标转换等场景,例如把价格取自然对数后再做回归分析。参数为null或缺失时返回null;输入需为正数,0或负数返回null。e约等于2.71828。若需要其他底数,用$log并指定底数,或直接用$log10、$log2。$ln常与$exp互为逆运算。
| 分类 | 数学 |
|---|---|
| MongoDB 版本 | 1.0+ |
| 示例语言 | mongosh (Shell) |
📝 语法
{ $ln: <数值表达式> }
⚙️ 参数
| 数值 | 数值或解析为数值的表达式,必须大于0。 |
|---|
返回值:输入的自然对数;非正数、null或缺失时返回null
▶ 示例
请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):
// $ln:计算金额的自然对数
db.sales.aggregate([
{ $project: {
logAmount: { $ln: '$amount' }
} }
])
运行结果:
{ '_id': 1, 'logAmount': 4.605170185988092 }
{ '_id': 2, 'logAmount': 2.995732273553991 }
📌 注意事项
- 输入必须大于0,0或负数返回null
- 自然对数底数固定为e,其他底数用$log
- 与$exp互为逆运算:$exp($ln(x))等于x
🏷️ 相关标签
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
Q$ln和$log有什么区别?
A$ln底数固定为e;$log需用第二个参数指定底数。
Q$ln对0或负数返回什么?
A返回null,对数只对正数有定义。
Q自然对数怎么还原成原值?
A用$exp对结果做指数运算即可还原。