MongoDB聚合操作符:$abs

$abs聚合操作符用于返回数值的绝对值。

语法

js 复制代码
{ $abs: <数值> }

<数值>表达式可以是任何能被解析为数值的合法表达式。

用法

如果$abs<number>参数被解析为null值或引用不存在的字段,将返回null,如果参数被解析为NaN,也会返回NaN

例如 结果
{abs:-1} 1
{abs:1} 1
{abs:-0.01} -.01
{abs:null} null

举例

集合temperatureChange包含下面的文档:

js 复制代码
db.temperatureChange.insertMany( [
   { _id: 1, startTemp: 50, endTemp: 80 },
   { _id: 2, startTemp: 40, endTemp: 40 },
   { _id: 3, startTemp: 90, endTemp: 70 },
   { _id: 4, startTemp: 60, endTemp: 70 }
] )

下面的例子计算startTempendTemp之间的差值:

js 复制代码
db.temperatureChange.aggregate([
   {
      $project: { delta: { $abs: { $subtract: [ "$startTemp", "$endTemp" ] } } }
   }
])

操作返回的结果如下:

json 复制代码
{ "_id" : 1, "delta" : 30 }
{ "_id" : 2, "delta" : 0 }
{ "_id" : 3, "delta" : 20 }
{ "_id" : 4, "delta" : 10 }
相关推荐
Amnesia0_07 分钟前
MYSQL复合查询和内外连接
数据库·mysql
Gauss松鼠会7 分钟前
【GaussDB】GaussDB SMP特性调优详解
java·服务器·前端·数据库·sql·算法·gaussdb
AI数据皮皮侠11 分钟前
全国高考报名、录取数据(1977-2026)
大数据·数据库·人工智能·python·机器学习·高考
计算机安禾31 分钟前
【数据库系统原理】第15篇:范式理论(上):1NF至BCNF——消除非主属性对码的传递依赖与部分依赖
数据库
清风6666661 小时前
基于单片机的可调数控电源设计
单片机·嵌入式硬件·mongodb·毕业设计·课程设计·期末大作业
你的保护色1 小时前
数据库第一章-基础知识学习
数据库·学习
倔强的石头_1 小时前
《Kingbase护城河》——数据库卡顿急救手册:会话状态深度解析与“僵尸进程”排查实战
数据库
ManageEngine卓豪1 小时前
数据库可观测性:MySQL与Redis监控核心监控指标与全栈运维解决方案
数据库·redis·mysql·数据库性能·数据库监控
真实的菜2 小时前
Redis 从入门到精通(十四):Redis 7.x 新特性全解 —— 系列收官之作
数据库·redis·缓存