MongoDB 查询文档

语法

MongoDB 查询数据的语法格式如下:

>db.COLLECTION_NAME.find()

find() 方法以非结构化的方式来显示所有文档。

如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:

>db.col.find().pretty()

pretty() 方法以格式化的方式来显示所有文档。

实例

以下实例我们删除了数据库 runoob。

> db.col.find().pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。


MongoDB 与 RDBMS Where 语句比较

如果你熟悉常规的 SQL 数据,通过下表可以更好的理解 MongoDB 的条件语句查询:

操作 格式 范例 RDBMS中的类似语句
等于 {<key>:<value>} db.col.find({"by":"菜鸟教程"}).pretty() where by = '菜鸟教程'
小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50
小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50
大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50
大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50
不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50

MongoDB AND 条件

MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,及常规 SQL 的 AND 条件。

语法格式如下:

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

实例

以下实例通过 bytitle 键来查询 菜鸟教程MongoDB 教程 的数据

> db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

以上实例中类似于 WHERE 语句:WHERE by='菜鸟教程' AND title='MongoDB 教程'


MongoDB OR 条件

MongoDB OR 条件语句使用了关键字 $or,语法格式如下:

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

实例

以下实例中,我们演示了查询键 by 值为 菜鸟教程 或键 title 值为 MongoDB 教程 的文档。

>db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } >

AND 和 OR 联合使用

以下实例演示了 AND 和 OR 联合使用,类似常规 SQL 语句为: 'where url='http://www.runoob.com' AND (by = '菜鸟教程' OR title = 'MongoDB 教程')'

>db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty() { "_id" : ObjectId("56063f17ade2f21f36b03133"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }

转载于:https://www.cnblogs.com/liuguanghai/p/5176935.html

MongoDB 查询文档相关推荐

  1. mongodb查询文档

    mongodb查询文档 语法:db.集合名.find({条件}) 操作符使用频率最高的: 大于: $gt > 大于等于: $gte >= 小于: l t < 小 于 等 于 : lt ...

  2. MongoDB查询文档(非常详细,不要错过哦~)

    下面是在MongoDB中查询数据的操作的详细整理,希望可以帮助到有需要的小伙伴~ 条件查询的前提条件是创建一个数据库,创建集合规则,创建文档.插入数据. 根据条件查询文档 查询大于小于(在一定数组范围 ...

  3. mongodb——查询文档内部属性以及数组

    上一篇博客中,我们学会了最基础的查询方法.即按照某一个属性,使用最简单的属性匹配方式查询.这一篇博客中我们来讲一下文档内部嵌套属性的查询以及对于数组的查询. 嵌入文档查询 使用场景:如果一个文档内部有 ...

  4. MongoDB之查询文档

    目录 文档查询 MongoDB 与 RDBMS Where 语句比较 MongoDB AND 条件 MongoDB OR 条件 AND 和 OR 联合使用 模糊查询 排序 分页 总条数 去重 指定返回 ...

  5. MangoDB插入、删除和查询文档

    目录 插入文档 实例 MongoDB 删除文档 语法 实例 MongoDB 查询文档 语法 实例 MongoDB 与 RDBMS Where 语句比较 MongoDB AND 条件 实例 MongoD ...

  6. mongodb插入文档时不传ObjectId

    type BookExt struct {ID bson.ObjectId `bson:"_id"`Title string `bson:"title"`Sub ...

  7. mongodb文档太大_了解MongoDB BSON文档大小限制

    首先,它实际上是在8MB或16MB... 的下一个版本中提出的,但是我认为,从10gen(开发MongoDB的人)的艾略特(Eliot)的观点来看,它是最好的: 编辑: 大小已正式 "提高& ...

  8. 商城项目(六)整合Mongodb实现文档操作

    商城项目(六)整合Mongodb实现文档操作 整合Mongodb的过程,以实现商品浏览记录在Mongodb中的添加.删除.查询为例. 环境搭建 Mongodb Mongodb是为快速开发互联网Web应 ...

  9. MongoDB学习文档

    MongoDB 一.MongoDB特点 1.MongoDB优点 2.MongoDB缺点 二.MongoDB数据结构 三. 数据库 四.集合 五.文档 六.搭建复制集 一.MongoDB特点 1.Mon ...

最新文章

  1. 喜欢绘画学的计算机,为什么有的人画画非常好却对计算机一窍不通
  2. 2010年杭电计算机研究生复试---笔试编程
  3. 给大学生分享一下我的编程人生
  4. Linux 性能检查命令总结
  5. [2013.9.10]vb.net坑爹的数组
  6. 简单的动态网站java,Java实践:一个简单的动态数组实现
  7. [JAVA] JAVA 类路径
  8. openstack网络服务neutron (控制节点)
  9. rdkit Recap、BRICS分子片段拆分与合成
  10. 2021年口腔正畸行业隐形矫治器专题研究报告
  11. 物联网技术技术架构以及物联网应用领域的介绍
  12. 红帽子企业Linux 5安装序列号
  13. 中文自然语言处理语言资源项目(ChineseNLPcorpus)
  14. 视频剪辑学习笔记(1)
  15. JLINK烧写U-boot到NAND Flash中
  16. 平衡左右脑、加强记忆、提高情商……冥想的这些好处你知道吗?
  17. Win8.1RTM Pro电话激活
  18. 关于计算机这一块儿的认识
  19. 【蓝桥杯单片机组第四届模拟题】— “模拟智能灌溉系统”
  20. jdk与tomcat等版本相互适配要求

热门文章

  1. NativeXml (2):对象建立
  2. while循环(包含死循环、while嵌套)
  3. python excel 提取特定行_Python之从Excel一列内提取数字
  4. 论文schedule
  5. java系列5:如何使用创建的类
  6. Bit Digital反驳美国做空机构J Capital对其比特币业务的虚假指控
  7. SAP License:BSEG与FAGLFLEXA (A)表数据不一致问题
  8. DataX Hdfs HA(高可用)配置支持
  9. 安卓开发:用ImageView放上图片后上下有间隙
  10. Linux 的软件管理及配置 - 安装、卸载、升级、依赖