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

MongoDB聚合运算符:$cmp

文章目录

    • 语法
    • 用法
    • 举例

$cmp聚合运算符返回连个值的比较结果。

语法

{ $cmp: [ <expression1>, <expression2> ] }

表达式可以是任何类型,使用标准的BSON比较顺序对不同类型的值进行比较。

用法

$cmp对两个值进行比较,返回:

  • -1,第一个值小于第二个值
  • 1,第一个值大于第二个值
  • 0,两个值相等

举例

inventory集合中有下面的文档:

{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }

下面的聚合管道使用$cmp运算符比较qty字段与常量250

db.inventory.aggregate([{$project:{item: 1,qty: 1,cmpTo250: { $cmp: [ "$qty", 250 ] },_id: 0}}]
)

操作返回下面的结果:

{ "item" : "abc1", "qty" : 300, "cmpTo250" : 1 }
{ "item" : "abc2", "qty" : 200, "cmpTo250" : -1 }
{ "item" : "xyz1", "qty" : 250, "cmpTo250" : 0 }
{ "item" : "VWZ1", "qty" : 300, "cmpTo250" : 1 }
{ "item" : "VWZ2", "qty" : 180, "cmpTo250" : -1 }
http://www.lryc.cn/news/309227.html

相关文章:

  • 【C++基础知识详细记录】
  • Socket网络编程(五)——TCP数据发送与接收并行
  • 2024最新-ubuntu22.04安装最新版QT6.6~6.8教程
  • STM32------分析GPIO寄存器
  • 数学实验-Matlab使用(1)
  • kafka文件存储机制和消费者
  • 《汇编语言》- 读书笔记 - 第15章-外中断
  • 【Vue3】CSS 新特性
  • 四信水电站泄洪预警方案,精准提升防汛应急水平
  • k8s中容器的调度与创建:CRI,cgroup
  • Unity安装与简单设置
  • 数据库的介绍、分类、作用和特点
  • 【Unity】机器人末端执行器仿真
  • 更换个人开发环境后,pycharm连接服务器报错Authentication failed
  • E - Bad Juice
  • 用HTML5的<canvas>元素实现刮刮乐游戏
  • TypeScript + react 中 TypeScript 的加入后 , 有哪些优化项目
  • Redis学习路径(构建体系)
  • 【README 小技巧】 展示gitee中开源项目start
  • tcping实用小工具
  • 【Web】Java反序列化之CC2——commons-collections4的新链之一
  • golang使用gorm操作mysql1
  • Flutter异常上报及性能监控实现
  • 基于springboot+vue的工厂车间管理系统
  • Java基础 - Stream 流:Stream API的终端操作
  • 高级语言期末2009级A卷(计算机学院)
  • docker-compose搭建php开发环境
  • 翻译论文:Beating Floating Point at its Own Game: Posit Arithmetic(一)
  • 【数据结构-图论】并查集
  • 云计算时代的运维: 职业发展方向与岗位选择