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 }

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

相关推荐
会编程的土豆1 分钟前
MySQL 入门:库、表、行、主键是什么
linux·数据库·网络协议·http
写代码的强哥18 分钟前
云原生数据库与传统数据库相比“新”在哪里
数据库·云原生·架构
吴声子夜歌1 小时前
MongoDB 4.2——查询
数据库·mongodb
xieliyu.3 小时前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql
ttwuai3 小时前
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
数据库·mysql·golang
张人玉3 小时前
基于 Vue 3 + ECharts + Express + SQLite 构建的新能源汽车销量数据分析与可视化平台——新能源汽车销量数据分析系统
数据库·vue.js·sqlite·echarts
笨笨饿5 小时前
#102_Codex无在VSCold无法打开
java·c语言·数据库·笔记
向夏威夷 梦断明暄6 小时前
从架构特点到功能缺陷,重新认识分析型分布式数据库
数据库·分布式·架构
不知疲倦的仄仄6 小时前
MySQL/Read View快照/MVCC/串行化
java·数据库·mysql