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 }
相关推荐
cui_win19 小时前
Redis 生产环境命令管控规范
数据库·redis·缓存
woshilys19 小时前
oracle 和sql server 查询数据时锁的区别
数据库·oracle
if时光重来19 小时前
kingbase数据库指定数据表自增id重置
数据库·python·sql
jingyucsdn19 小时前
将postgresql结构和数据备份成sql语句
数据库·sql·postgresql
我科绝伦(Huanhuan Zhou)19 小时前
Oracle等待事件:性能诊断与优化的核心指南
数据库·oracle
梦里不知身是客1119 小时前
explain分析SQL语句分析sql语句的优劣
java·数据库·sql
程序员zgh19 小时前
SOLID软件设计原则 解析
数据库
TDengine (老段)20 小时前
开放生态破局工业大数据困局:TDengine 的迭代升级与全链路数据自由流动
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
一位代码20 小时前
一些常用的通用 mysql 命令详解及注意事项
数据库·mysql
曹牧20 小时前
Oracle:五笔码
数据库·oracle