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 }

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

相关推荐
做运维的阿瑞9 分钟前
一个 NULL 让整列姓名消失?MySQL 字符串与日期函数复盘
数据库·sql·mysql
程序猿乐锅20 分钟前
【黑马点评 | 第十一篇】关注 Feed 流实现
java·数据库·redis·分布式·后端·缓存·maven
phltxy26 分钟前
C 语言文件操作:让数据从内存走向持久化
c语言·网络·数据库
阳光九叶草LXGZXJ1 小时前
达梦数据库-学习-69-DM9主备集群部署
linux·运维·服务器·数据库·sql·学习
jnrjian1 小时前
Connect Microsoft Tools to Oracle Databases powerbi 之类的oracle 客户端
数据库·microsoft·oracle
北京恒星科通刘军1 小时前
灾害监测预警系统中,应急疏散广播的“应急叫应”实际送达率与有效性研究
网络·数据库·人工智能
ShineWinsu1 小时前
对于Redis:List类型的解析
数据库·c++·redis·链表·缓存·面试·list
问商十三载1 小时前
AI引擎生成式优化服务商怎么选?技术核验清单(附脚本)
数据库·人工智能·机器学习
TDengine (老段)1 小时前
集群从“能用“到“高可用“:副本、选主与故障切换到底怎么配
大数据·网络·数据库·物联网·oracle·时序数据库·tdengine
ly76891 小时前
ISR 收缩与 HW 推进:副本同步的边界条件与 UnderReplicated 排障
数据库·kafka·c#·linq·isr·hw·副本同步