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 }
相关推荐
点灯小铭31 分钟前
基于51单片机手机无线蓝牙APP控制风扇调速设计
单片机·mongodb·智能手机·毕业设计·51单片机·课程设计
Morpheon1 小时前
A Guide to Data System Storage: From Basics to Advanced File Structures
数据库
yzx9910132 小时前
Django 配置与安装完整指南
数据库·django·sqlite
Archie_IT4 小时前
「深入浅出」嵌入式八股文—P2 内存篇
c语言·开发语言·数据结构·数据库·c++·算法
奥尔特星云大使4 小时前
mysql逻辑备份跟物理备份的区别
数据库·mysql·逻辑备份·物理备份·逻辑备份呢
程序定小飞4 小时前
基于springboot的蜗牛兼职网的设计与实现
java·数据库·vue.js·spring boot·后端·spring
Go高并发架构_王工5 小时前
NoSQL与MySQL混合架构设计:从理论到实践(二)
数据库·mysql·nosql
jingfeng5145 小时前
MySQL数据类型
数据库·mysql
matlab的学徒5 小时前
PostgreSQL 安装与操作指南
数据库·postgresql
sweethhheart5 小时前
【typora激活使用】mac操作方式
前端·数据库·macos