MongoDB聚合运算符:$exp

文章目录

$exp聚合运算符返回自然常数或欧拉数e的幂值(次方)的结果

语法

js 复制代码
{ $exp: <exponent> }

<exponent>为指数,可以是任何数值表达式。

使用

如果参数为null或引用的字段不存在,$exp返回null,如果参数解析为NaN$exp也返回NaN,如下:

参数 结果
{$exp: 0} 1
{$exp: 2} 7.38905609893065
{ $exp: -2 } 0.1353352832366127

举例

使用下面的脚本创建accounts集合:

js 复制代码
db.accounts.insertMany( [
   { _id: 1, interestRate: .08, presentValue: 10000 },
   { _id: 2, interestRate: .0825, presentValue: 250000 },
   { _id: 3, interestRate: .0425, presentValue: 1000 }
] )

下面的例子计算连续复利的实际利率:

js 复制代码
db.accounts.aggregate( [ { $project: { effectiveRate: { $subtract: [ { $exp: "$interestRate"}, 1 ] } } } ] )

返回结果如下:

json 复制代码
{ "_id" : 1, "effectiveRate" : 0.08328706767495864 }
{ "_id" : 2, "effectiveRate" : 0.08599867343905654 }
{ "_id" : 3, "effectiveRate" : 0.04341605637367807 }

使用下面的脚本创建``集合:

相关推荐
智购科技智能售货柜24 分钟前
2026自动售货机整机可靠性测试:从高低温交变到EMC电磁兼容的认证工程实践~YH
运维·服务器·数据库·人工智能·物联网
ltl39 分钟前
RocksDB 架构演进:相对 LevelDB 的 diff 地图
数据库
ltl40 分钟前
存储读取性能优化:索引、Bloom Filter 与读放大
数据库
xier_ran4 小时前
【infra之路】GPU 存储层次总结:L1 / L2 / HBM
java·网络·数据库
山甫aa6 小时前
Javaweb---MyBatis增删改查
java·数据库·后端·mybatis·springboot
其实防守也摸鱼6 小时前
接口审计:从原理到实践的万字深度指南
数据库·安全·自动化·github·copilot
@insist1236 小时前
系统集成项目管理工程师-信息和文档管理
网络·数据库·软考·系统集成项目管理工程师·软考中项·软件水平考试
残 风8 小时前
PostgreSQL 存储机制详解
数据库·postgresql·开源·数据库开发
JacksonMx9 小时前
Java CompletableFuture 异步编程实战:从入门到架构师避坑指南
linux·数据库·python