MongoDB 常用运算符
$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 常用运算符相关推荐
- MongoDB 常用命令汇总
MongoDB 常用命令汇总 mongodb数据库结构与传统关系型数据库对比 MongoDB 创建数据库 创建/切换数据库 查看当前数据库名称 查看所有数据库 MongoDB 删除数据库 删除集合 M ...
- MongoDB常用语句小册
MongoDB常用语句小册 最近MongoDB使用的比较多,但是毕竟不像MySQL这种用了好多年的数据库,语句信手拈来,有的时候还是需要想一想才能写出来,于是把常用的CRUD语句整理一下,方便查阅. ...
- mongodb常用命令
mongodb常用命令 mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-pe ...
- MYSQL——常用运算符和函数
MYSQL的常用运算符 1 字符函数 CONCAT() 字符连接 CONCAT_WS() 使用指定的分隔符进行字符连接 FORMAT() 数字格式化 LOWER() 转换成小写 ...
- band math函数_ENVI波段运算(bandmath)运算逻辑及常用运算符详解
最近用ENVI做了下区域绿化覆盖度的分析,也算是简单应用了下ENVI这个软件,这篇简单介绍下ENVI的波段运算的运算逻辑和常用的运算符. BandMath工具能够方便的执行图像中各个波段的加.减.乘. ...
- MongoDB 常用故障排查工具
MongoDB 常用故障排查工具 1.profile profiling levels: 0,关闭profile:1,只抓取slow查询:2,抓取所有数据. 启动profile并且设置Profile级 ...
- MongoDB常用语句
记录一下MongoDB常用语句,顺带与SQL做个简单的对比. 1.查询(find) (1)查询所有结果 select * from articledb.article.find() (2)指定返回哪些 ...
- linux进入mongodb数据库命令,MongoDB 常用数据库命令,命令是如何工作的这里
MongoDB 常用数据库命令,命令是如何工作的这里 mongoDB提供了广泛的数据库命令,除常用的create,read,update,delete之外所有功能. 命令是如何工作的 这里有个你比较熟 ...
- where常用运算符
mysql查询的五种子句:where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) where常用运算符:比较运算符> , &l ...
最新文章
- postman测试上传文件
- std::map只修改不用加锁
- 基本数据结构----循环链表
- 【echarts】echarts开发流程详解
- ruby nil_Ruby中的数据类型-True,False和Nil用示例解释
- python继承问题_Python类的继承问题
- java实现多线程抢单_来聊一聊3种实现JAVA多线程的方式吧
- 计算机图形学中的边标志算法c++程序实现2
- Linux_Shell符号及各种解释对照表
- java webrtc视频会议_JAVA webRtc的实现视频会议系统
- 服装ERP管理软件有哪些功能
- 12月大学计算机二级考试时间,2020年12月计算机二级考试报名时间及考试安排
- 计算机青蓝云题库,计算机三级上机题库 计算机三级网络技术上机题库《南开100题》.doc...
- python 股票收益数据统计(柱状图)
- c 实现走迷宫流程图_C语言实现一个走迷宫小游戏(深度优先算法)
- XDOJ1184 - 贪心的小白羊
- GSMA公布MWC20巴塞罗那最新进展
- 醉眼看花花也醉,冷眼观世世亦冷
- 图片大小自适应垂直居中的方法
- 吕本富:从平台经济到平台经济学
热门文章
- 前端学习(2586):如何设计高扩展路由
- 前端学习(2469):echart复习电商管理通过erchart加载数据
- 前端学习(2044)vue之电商管理系统电商系统之优化configwebpack和chainwebpack
- 前端学习(1315):路由
- shiro学习(4):shiro认证流程
- 19.jsp生命周期
- PHP在金山游戏运营中的应用
- linux可配置哪些服务,linux操作系统下服务配置
- 正则仅输入文字字母空格,但必须含有字母
- 集群没有leader_面试官问:说说你对ZooKeeper集群与Leader选举的理解?