$eq = (等于)

$gt > (大于)

$gte >= (大于等于)

$lt < (小于)

$lte <= (小于等于)

$ne != (不等于)

$in in (in)

$nin !in (not in)

参考:https://docs.mongodb.com/manual/reference/operator/query/

$eq

语法:

{ <field>: { $eq: <value> } }

1、匹配文档值

如果指定的是文档,则文档中的字段顺序很重要。

2、匹配数组值

如果指定的是一个数组,则MongoDB将匹配数组的文档完全匹配,或者包含与数组完全匹配的元素。 元素的顺序很重要。

示例:

inventory 库存清单

{ _id: 1, item: { name: "ab", code: "123" }, qty: 15, tags: [ "A", "B", "C" ] }
{ _id: 2, item: { name: "cd", code: "123" }, qty: 20, tags: [ "B" ] }
{ _id: 3, item: { name: "ij", code: "456" }, qty: 25, tags: [ "A", "B" ] }
{ _id: 4, item: { name: "xy", code: "456" }, qty: 30, tags: [ "B", "A" ] }
{ _id: 5, item: { name: "mn", code: "000" }, qty: 20, tags: [ [ "A", "B" ], "C" ] }12345

等于指定值

以下示例查询清单集合以选择其中qty字段的值等于20的所有文档:

db.inventory.find( { qty: { $eq: 20 } } )1

查询匹配以下文档:

{ _id: 2, item: { name: “cd”, code: “123” }, qty: 20, tags: [ “B” ] }
{ _id: 5, item: { name: “mn”, code: “000” }, qty: 20, tags: [ [ “A”, “B” ], “C” ] }

嵌入文档中的字段等于值

以下示例查询库存集以选择所有文档,其中项目文档中名称字段的值等于“ab”。 要在嵌入文档中的字段上指定条件,请使用点符号。

db.inventory.find({"item.name":{$eq:"ab"}})1

查询结果:

{ _id: 1, item: { name: “ab”, code: “123” }, qty: 15, tags: [ “A”, “B”, “C” ] }

数组元素等于值

以下示例查询清单集合以选择标签数组包含值为“B”的元素的所有文档[1]:

db.inventory.find({tags:{$eq:"B"}})1

查询结果:

{ _id: 1, item: { name: “ab”, code: “123” }, qty: 15, tags: [ “A”, “B”, “C” ] }
{ _id: 2, item: { name: “cd”, code: “123” }, qty: 20, tags: [ “B” ] }
{ _id: 3, item: { name: “ij”, code: “456” }, qty: 25, tags: [ “A”, “B” ] }
{ _id: 4, item: { name: “xy”, code: “456” }, qty: 30, tags: [ “B”, “A” ] }

等于数组值

以下示例查询清单集合以选择所有文档,其中标签数组等于指定数组或标签数组包含一个等于数组[“A”,“B”]的元素。

db.inventory.find({tags:{$eq:["A","B"]}})

查询结果:

{ _id: 3, item: { name: “ij”, code: “456” }, qty: 25, tags: [ “A”, “B” ] }
{ _id: 5, item: { name: “mn”, code: “000” }, qty: 20, tags: [ [ “A”, “B” ], “C” ] }

$gt >

语法:

{field: {$gt: value}}

$ gt选择字段的值大于(即>)指定值的文档。

示例:

此查询将选择库存集合中qty字段值大于20的所有文档。

db.inventory.find({qty:{$gt:20}})

特别注意点:

query["reward.checkername"] = { "$eq": undefined }

如果checkername是mongoose.SchemaTypes.ObjectId类型的,上面的写法就会有问题。

MongoDB 常用运算符相关推荐

  1. MongoDB 常用命令汇总

    MongoDB 常用命令汇总 mongodb数据库结构与传统关系型数据库对比 MongoDB 创建数据库 创建/切换数据库 查看当前数据库名称 查看所有数据库 MongoDB 删除数据库 删除集合 M ...

  2. MongoDB常用语句小册

    MongoDB常用语句小册 最近MongoDB使用的比较多,但是毕竟不像MySQL这种用了好多年的数据库,语句信手拈来,有的时候还是需要想一想才能写出来,于是把常用的CRUD语句整理一下,方便查阅. ...

  3. mongodb常用命令

    mongodb常用命令 mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-pe ...

  4. MYSQL——常用运算符和函数

    MYSQL的常用运算符 1   字符函数 CONCAT()    字符连接 CONCAT_WS()   使用指定的分隔符进行字符连接 FORMAT()   数字格式化 LOWER()    转换成小写 ...

  5. band math函数_ENVI波段运算(bandmath)运算逻辑及常用运算符详解

    最近用ENVI做了下区域绿化覆盖度的分析,也算是简单应用了下ENVI这个软件,这篇简单介绍下ENVI的波段运算的运算逻辑和常用的运算符. BandMath工具能够方便的执行图像中各个波段的加.减.乘. ...

  6. MongoDB 常用故障排查工具

    MongoDB 常用故障排查工具 1.profile profiling levels: 0,关闭profile:1,只抓取slow查询:2,抓取所有数据. 启动profile并且设置Profile级 ...

  7. MongoDB常用语句

    记录一下MongoDB常用语句,顺带与SQL做个简单的对比. 1.查询(find) (1)查询所有结果 select * from articledb.article.find() (2)指定返回哪些 ...

  8. linux进入mongodb数据库命令,MongoDB 常用数据库命令,命令是如何工作的这里

    MongoDB 常用数据库命令,命令是如何工作的这里 mongoDB提供了广泛的数据库命令,除常用的create,read,update,delete之外所有功能. 命令是如何工作的 这里有个你比较熟 ...

  9. where常用运算符

    mysql查询的五种子句:where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) where常用运算符:比较运算符> , &l ...

最新文章

  1. postman测试上传文件
  2. std::map只修改不用加锁
  3. 基本数据结构----循环链表
  4. 【echarts】echarts开发流程详解
  5. ruby nil_Ruby中的数据类型-True,False和Nil用示例解释
  6. python继承问题_Python类的继承问题
  7. java实现多线程抢单_来聊一聊3种实现JAVA多线程的方式吧
  8. 计算机图形学中的边标志算法c++程序实现2
  9. Linux_Shell符号及各种解释对照表
  10. java webrtc视频会议_JAVA webRtc的实现视频会议系统
  11. 服装ERP管理软件有哪些功能
  12. 12月大学计算机二级考试时间,2020年12月计算机二级考试报名时间及考试安排
  13. 计算机青蓝云题库,计算机三级上机题库 计算机三级网络技术上机题库《南开100题》.doc...
  14. python 股票收益数据统计(柱状图)
  15. c 实现走迷宫流程图_C语言实现一个走迷宫小游戏(深度优先算法)
  16. XDOJ1184 - 贪心的小白羊
  17. GSMA公布MWC20巴塞罗那最新进展
  18. 醉眼看花花也醉,冷眼观世世亦冷
  19. 图片大小自适应垂直居中的方法
  20. 吕本富:从平台经济到平台经济学

热门文章

  1. 前端学习(2586):如何设计高扩展路由
  2. 前端学习(2469):echart复习电商管理通过erchart加载数据
  3. 前端学习(2044)vue之电商管理系统电商系统之优化configwebpack和chainwebpack
  4. 前端学习(1315):路由
  5. shiro学习(4):shiro认证流程
  6. 19.jsp生命周期
  7. PHP在金山游戏运营中的应用
  8. linux可配置哪些服务,linux操作系统下服务配置
  9. 正则仅输入文字字母空格,但必须含有字母
  10. 集群没有leader_面试官问:说说你对ZooKeeper集群与Leader选举的理解?