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 }

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

相关推荐
2301_81666021几秒前
golang如何实现SSRF防护策略_golang SSRF防护策略实现方案
jvm·数据库·python
流年如夢3 分钟前
自定义类型进阶:联合与枚举
java·c语言·开发语言·数据结构·数据库·c++·算法
解救女汉子5 分钟前
CSS3 按钮悬停时显示手型光标(cursor- pointer)的正确写法
jvm·数据库·python
csdn2015_10 分钟前
spring boot 启动的时候将数据库里的分类信息写入redis
数据库·spring boot·redis
四维迁跃17 分钟前
c++怎么在写入文件流时通过peek预读功能实现复杂的逻辑判断【实战】
jvm·数据库·python
小超同学你好23 分钟前
OpenClaw 深度解析与源代码导读 · 第7篇:Memory 子系统——持久化、内置记忆与「人格文件」分界
数据库
2301_7751481523 分钟前
如何管理RAC归档日志_共享存储中的FRA配置与双节点访问
jvm·数据库·python
RoboWizard26 分钟前
移动固态硬盘的耐用性如何,怎么判断使用寿命?
服务器·数据库·负载均衡
qq_3300379932 分钟前
php怎么实现接口请求日志记录_php如何自动记录入参出参与耗时
jvm·数据库·python
2401_8653825033 分钟前
各省政务信息化项目验收材料清单汇总及差异分析
java·开发语言·数据库