当前位置: 首页 > news >正文

MongoDB聚合操作符:$abs

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

语法

{ $abs: <数值> }

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

用法

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

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

举例

集合temperatureChange包含下面的文档:

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之间的差值:

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

操作返回的结果如下:

{ "_id" : 1, "delta" : 30 }
{ "_id" : 2, "delta" : 0 }
{ "_id" : 3, "delta" : 20 }
{ "_id" : 4, "delta" : 10 }
http://www.lryc.cn/news/299877.html

相关文章:

  • 【element-ui】输入框组件el-input输入数字/输出Number类型:type=“number“、v-model.number用法
  • 算法与数据结构
  • C++动态规划-线性dp算法
  • 基于 Python 深度学习的电影评论情感分析系统,附源码
  • 如何查看Apple Watch的步数?这里提供几个方法
  • 解决‘vue‘ 不是内部或外部命令,也不是可运行的程序(设置全局变量)
  • JavaWeb学习|i18n
  • 数据库日志已经很大了,比如200多G,不能收缩到几兆,实际操作过只能到30G
  • docker常用容器命令
  • 蓝桥杯(Web大学组)2022省赛真题:冬奥大抽奖
  • 单调队列 单调栈
  • Java基础-泛型
  • Vue 全组件 局部组件
  • 几个经典金融理论
  • c++语言max函数的使用
  • c++阶梯之类与对象(下)
  • 机器学习--K-近邻算法常见的几种距离算法详解
  • <网络安全>《30 网络信息安全基础(1)常用术语整理》
  • Git远程仓库的使用(Gitee)及相关指令
  • vscode +markdown 的安装和使用
  • Python爬虫之自动化测试Selenium#7
  • 快速学习Spring
  • c语言操作符(上)
  • vue3 可视化大屏自适应屏幕组件
  • SpringCloud入门概述
  • 刷题计划_冲绿名
  • 【微信小程序开发】小程序版的防抖节流应该怎么写
  • 单片机学习笔记---蜂鸣器播放提示音音乐(天空之城)
  • 软件实例分享,茶楼收银软件管理系统,支持计时计费商品销售会员管理定时语音提醒功能
  • clang前端