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 }
相关推荐
Tapdata14 分钟前
TapData 出席 TDBC 2025 可信数据库发展大会,分享“实时+信创”时代的数据基础设施演进路径
数据库
Little-Hu26 分钟前
QML视图组件:ListView、GridView、TableView、PathView
数据库·microsoft·qml
wmm_会飞的@鱼39 分钟前
FlexSim-汽车零部件仓库布局优化与仿真
服务器·前端·网络·数据库·数学建模·汽车
Antonio91542 分钟前
【Redis】Redis 数据存储原理和结构
数据库·redis·缓存
看天走路吃雪糕1 小时前
墨者:SQL手工注入漏洞测试(MySQL数据库)
数据库·mysql·sql注入·墨者靶场
看天走路吃雪糕1 小时前
墨者:通过手工解决SQL手工注入漏洞测试(PostgreSQL数据库)
数据库·sql·postgresql·sql注入·墨者靶场
看天走路吃雪糕2 小时前
墨者:SQL注入漏洞测试(布尔盲注)
数据库·sql·sqlmap·墨者学院·布尔盲注
*愿风载尘*2 小时前
ksql连接数据库免输入密码交互
数据库·后端
追风少年浪子彦2 小时前
mybatis-plus实体类主键生成策略
java·数据库·spring·mybatis·mybatis-plus
溟洵2 小时前
Qt 窗口 工具栏QToolBar、状态栏StatusBar
开发语言·前端·数据库·c++·后端·qt