RDBMS Where子句等效于MongoDB

查询文档在一些条件的基础上,可以使用下面的操作

操作 语法 示例 RDBMS等效语句
Equality {<key>:<value>} db.mycol.find({"by":"yiibai tutorials"}).pretty() where by = 'yiibai tutorials'
Less Than {<key>:{$lt:<value>}} db.mycol.find({"likes":{$lt:50}}).pretty() where likes < 50
Less Than Equals {<key>:{$lte:<value>}} db.mycol.find({"likes":{$lte:50}}).pretty() where likes <= 50
Greater Than {<key>:{$gt:<value>}} db.mycol.find({"likes":{$gt:50}}).pretty() where likes > 50
Greater Than Equals {<key>:{$gte:<value>}} db.mycol.find({"likes":{$gte:50}}).pretty() where likes >= 50
Not Equals {<key>:{$ne:<value>}} db.mycol.find({"likes":{$ne:50}}).pretty() where likes != 50

AND 在 MongoDB

语法

在 find()方法,如果您传递多个键通过","将它们分开,那么MongoDB对待它就如AND条件一样。基本语法如下所示:

>db.mycol.find({key1:value1, key2:value2}).pretty()

例子

下面给出的例子将显示所有教程含“yiibai tutorials”和其标题是“MongoDB Overview”

>db.mycol.find({"by":"yiibai tutorials","title": "MongoDB Overview"}).pretty() { "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "yiibai tutorials", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100" } >

对于上面给出的例子相当于where子句:' where by='yiibai tutorials' AND title='MongoDB Overview' '。可以传递任何数目的键-值对在find子句。

OR 在 MongoDB

语法

要查询基于OR条件的文件,需要使用$or关键字。OR的基本语法如下所示:

>db.mycol.find( { $or: [ {key1: value1}, {key2:value2} ] } ).pretty()

例子

下面给出的例子将显示所有撰写含有 'yiibai tutorials' 或是标题为 'MongoDB Overview' 的教程

>db.mycol.find({$or:[{"by":"tutorials point"},{"title": "MongoDB Overview"}]}).pretty() { "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "yiibai tutorials", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100" } >

使用 AND 和 OR 在一起

例子

下面给出的例子显示有喜欢数大于100 的文档,其标题要么是 'MongoDB Overview' 或 'yiibai tutorials'. 等效于SQL的where子句:'where likes>10 AND (by = 'yiibai tutorials' OR title = 'MongoDB Overview')'

>db.mycol.find("likes": {$gt:10}, {$or: [{"by": "yiibai tutorials"}, {"title": "MongoDB Overview"}] }).pretty() { "_id": ObjectId(7df78ad8902c), "title": "MongoDB Overview", "description": "MongoDB is no sql database", "by": "yiibai tutorials", "url": "http://www.yiibai.com", "tags": ["mongodb", "database", "NoSQL"], "likes": "100" } >

转载于:https://www.cnblogs.com/yang-hao/p/5383059.html

MongoDB快速入门(五)- Where子句相关推荐

  1. MongoDB 快速入门实战教程最新版

    在上一篇 <MongoDB 实战教程:数据库与集合的 CRUD 操作篇> 中,我们学习了MongoDB 与 NoSQL 的关系. MongoDB 的安装.数据类型.MongoShell.创 ...

  2. MongoDB学习(五)使用Java驱动程序3.3操作MongoDB快速入门

    [引言] 毕竟现在MongoDB还是出于成长阶段,所以现在网上相关的资料很少,而且大部分还都是针对于MongoDB的老版本的.再加上MongoDB的频繁升级.重大更新等等,导致菜鸟学习的难度增大. 好 ...

  3. Flutter快速入门 五步搞定Flutter环境配置

    Flutter是什么? Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能.高保真的应用程序. Flutter目标是使开发人员能够交付在不同平台上都感觉自然流 ...

  4. MongoDB 快速入门

    文章目录 1 MongoDB介绍 1.1 应用场景 1.2 什么时候选择MongoDB 1.3 MongoDB简介 1.4 MongoDB体系结构 1.5 数据类型 1.6 MongoDB的特点 2 ...

  5. 【探花交友】学习MongoDB快速入门上手

    目录 2.MongoDB简介 1.1.MongoDB简介 1.2.MongoDB的特点 1.3 数据类型 3.MongoDB入门 2.1.数据库以及表的操作 2.2.新增数据 2.3.更新数据 2.4 ...

  6. OpenCV快速入门五:色彩空间转换

    一:相关api 1:imread imread(filename, cv.IMREAD_GRAYSCALE) 具体cv.imread及其使用方法和读取有中文路径的图片参考博客OpenCV学习一:图片读 ...

  7. 高性能服务器架构之路-MongoDB(一):MongoDB快速入门(java版)(草稿)

    最近想通了,辞了职,原本谈好的新公司offer也给推掉,义无反顾的和朋友开始做自己的产品,反正明年毕业,失败了也没什么损失.主做应用服务器的客串android/windows phone客户端,计划未 ...

  8. IM开发快速入门(一):什么是IM系统?

    本文在编写时参考了博客作者"鹿呦呦"和在线课程"即时消息技术剖析与实战"的相关资料,一并表示感谢. 1.系列文章引言 IM系统看似简单(没错,很多土老板认为开发 ...

  9. (十一) ELK快速入门

    本文为学习笔记,主要用于记录本人学习过程.部分内容为转载!!!!. ELK快速入门一-基本部署 ELK简介 什么是ELK?通俗来讲,ELK是由Elasticsearch.Logstash.Kibana ...

最新文章

  1. Git 分布式版本控制系统
  2. 使用OpenCV调用Caffe-SSD训练好的模型
  3. C语言中size_t的陷阱
  4. 京东最新点击率预估模型论文学习和分享
  5. Boost多线程-替换MFC线程
  6. Windows-Server下加强系统安全性系列之方案【八】
  7. 「刘一哥GIS」系列专栏《QGIS入门实战精品教程(配套案例数据)》
  8. LeetCode 1465. 切割后面积最大的蛋糕
  9. 节目表演的点子_矿泉水桶当架子鼓,幼儿园小朋友出色表演,圈粉无数
  10. sqlserver2012 学习总结笔记
  11. UVA 12235 Help Bubu(状压dp)***
  12. chromium浏览器安装flashplayer(Ubuntu16.10)
  13. Turbo-rack技术背景及简介
  14. 微信小程序实现圆形菜单弹出选中动画
  15. 一款功能强大的开源excel在线表格
  16. 在Azure上实现Python应用和数据现代化第1部分:简介
  17. 阿里云科学家入选计算机顶会HPCA名人堂,他是什么来头?
  18. 烈焰遮天mysql密码_完美运营版悬赏任务积分墙源码
  19. 中国科学院大学计算机学院夏令营,中国科学院大学2018年全国大学生“软件与网络”夏令营通知...
  20. kali 中 嗅探工具 如何分类

热门文章

  1. 这有8个小秘诀,让你更懂CSS!
  2. 「译文」你必须掌握的 7 种 JavaScript 错误类型
  3. F - 数据结构实验之链表四:有序链表的归并
  4. java关闭applet_java – Applet会自动关闭
  5. 广义表的长度和深度怎么算_最新详细个人所得税税率表!快看最新个人所得税怎么算!...
  6. 最新小白详细描述在centos7.5上安装python3并使用Nginx+virtualenv+supervisor来部署tornado项目(整理集合结合实际)系列1
  7. Android学习笔记(二)——TextView常用属性以及下划线、跑马灯设置
  8. ubuntu16.04下pycharm中无法使用中文输入法
  9. Tensorflow-pb保存与导入
  10. Logistic Regression(逻辑回归)模型实现二分类和多分类