`
cakin24
  • 浏览: 1382595 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

MongoDB 查询文档

阅读更多
一 简介
MongoDB 查询文档使用 find() 方法。
find() 方法以非结构化的方式来显示所有文档。
二 语法
MongoDB 查询数据的语法格式如下:
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
>db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
三 实例
以下实例我们查询了集合 col 中的数据:
  1. > db.col.find().pretty()
  2. {
  3. "_id" : ObjectId("56063f17ade2f21f36b03133"),
  4. "title" : "MongoDB 教程",
  5. "description" : "MongoDB 是一个 Nosql 数据库",
  6. "by" : "菜鸟教程",
  7. "url" : "http://www.runoob.com",
  8. "tags" : [
  9. "mongodb",
  10. "database",
  11. "NoSQL"
  12. ],
  13. "likes" : 100
  14. }
除了 find() 方法之外,还有一个 findOne() 方法,它只返回一个文档。
  1. > db.col.findOne()
  2. {
  3. "_id" : ObjectId("593b7580bcd6757fd2d30302"),
  4. "title" : "MongoDB 教程",
  5. "description" : "MongoDB 是一个 Nosql 数据库",
  6. "by" : "菜鸟教程",
  7. "url" : "http://www.runoob.com",
  8. "tags" : [
  9. "mongodb",
  10. "database",
  11. "NoSQL"
  12. ],
  13. "likes" : 100
  14. }
四 MongoDB 与 RDBMS Where 语句比较
操作 格式 范例 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)以逗号隔开。
1、语法格式如下:
>db.col.find({key1:value1, key2:value2}).pretty()
2、实例
以下实例通过 by 和 title 键来查询 菜鸟教程 中 MongoDB 教程 的数据
  1. > db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}).pretty()
  2. {
  3. "_id" : ObjectId("593b7580bcd6757fd2d30302"),
  4. "title" : "MongoDB 教程",
  5. "description" : "MongoDB 是一个 Nosql 数据库",
  6. "by" : "菜鸟教程",
  7. "url" : "http://www.runoob.com",
  8. "tags" : [
  9. "mongodb",
  10. "database",
  11. "NoSQL"
  12. ],
  13. "likes" : 100
  14. }
以上实例中类似于 WHERE 语句:WHERE by='菜鸟教程' AND title='MongoDB 教程'
六 MongoDB OR 条件
1、语法
MongoDB OR 条件语句使用了关键字 $or,语法格式如下:
>db.col.find(
   {
      $or: [
     {key1: value1}, {key2:value2}
      ]
   }
).pretty()
2、实例
以下实例中,我们演示了查询键 by 值为 菜鸟教程 或键 title 值为 MongoDB 教程 的文档。
  1. > db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
  2. {
  3. "_id" : ObjectId("593b7580bcd6757fd2d30302"),
  4. "title" : "MongoDB 教程",
  5. "description" : "MongoDB 是一个 Nosql 数据库",
  6. "by" : "菜鸟教程",
  7. "url" : "http://www.runoob.com",
  8. "tags" : [
  9. "mongodb",
  10. "database",
  11. "NoSQL"
  12. ],
  13. "likes" : 100
  14. }
七 AND 和 OR 联合使用
以下实例演示了 AND 和 OR 联合使用,类似常规 SQL 语句为: 'where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')'
  1. > db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}).pretty()
  2. {
  3. "_id" : ObjectId("593b7580bcd6757fd2d30302"),
  4. "title" : "MongoDB 教程",
  5. "description" : "MongoDB 是一个 Nosql 数据库",
  6. "by" : "菜鸟教程",
  7. "url" : "http://www.runoob.com",
  8. "tags" : [
  9. "mongodb",
  10. "database",
  11. "NoSQL"
  12. ],
  13. "likes" : 100
  14. }
1
0
分享到:
评论

相关推荐

    SpringMongodb参考文档.docx

    2.了解NoSQL和文档数据库 3.要求 4.其他帮助资源 4.1。支持 4.1.1。社区论坛 4.1.2。专业支持 4.2。发展之后 5.新&值得注意的 5.1。Spring Data MongoDB 2.1中的新特性 5.2。Spring Data MongoDB 2.0中的新特性 5.3...

    Spring Data MongoDB中文文档

    ### Spring Data MongoDB中文文档知识点概览 #### 一、Spring Data MongoDB概述 - **Spring Data MongoDB** 是 **Spring Data** 家族的一员,它提供了一种简单的方式来与 MongoDB 数据库进行交互。通过 Spring Data...

    mongoDB的官方中文文档

    MongoDB是一种流行的开源、分布式文档型数据库,以其灵活性、高性能和易用性而备受开发者青睐。作为NoSQL数据库的一种,它存储数据的方式不同于传统的表结构,而是采用键值对、文档、集合的形式。MongoDB的官方中文...

    springMongodb参考文档中文版

    - **数据映射和类型转换**:如何处理对象与MongoDB文档之间的映射和转换。 - **映射配置**:提供了配置映射规则的方法。 #### 15. 跨存储支持 - **跨商店配置**:支持跨多个MongoDB实例的数据操作。 - **编写跨商店...

    MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码

    查询MongoDB文档的操作主要包括以下几种: 1. **查询指定键**: 使用`find()`方法可以查询集合中的文档。如果想控制返回结果中显示哪些字段,可以在`find()`方法的第二个参数中指定。例如,`{name:1}`表示只显示`...

    springdata mongodb api文档

    SpringData MongoDB是SpringData项目中支持MongoDB这一NoSQL文档数据库的部分。SpringData项目旨在简化对各种数据源的访问,而MongoDB作为一种流行的文档型数据库,非常适合处理大量的分布式数据。SpringData ...

    MongoDB学习文档.zip

    MongoDB是一种流行的开源、分布式文档数据库,被广泛用于存储非结构化和半结构化数据。在Java开发中,MongoDB提供了丰富的驱动程序,使得与Java应用程序的集成变得简单高效。本压缩包“MongoDB学习文档.zip”包含了...

    Spring Data MongoDB API(Spring Data MongoDB 开发文档).CHM

    Spring Data MongoDB API。 Spring Data MongoDB 开发文档。

    PHP操作MONGODB详细文档 WORD版

    MongoDB是一个高性能、开源、无模式的分布式文档型数据库,它以其灵活性和可扩展性受到青睐。而PHP作为服务器端脚本语言,因其易学易用性而广受欢迎,因此将PHP与MongoDB结合,可以构建高效的数据驱动应用。 本文档...

    mongodb帮助文档整合

    mongodb分片配置.docx Mongodb.chm mongodb安装以及基本操作.docx MongoDB使用手册.doc mongo分布式研究.docx 有这5个文档足够学习Mongodb使用了

    mongodb安装培训文档

    1. 数据模型:关系型数据库采用表格形式存储数据,而 MongoDB 使用文档模型,允许数据以更自然的结构存储。 2. 关联处理:在 MongoDB 中,通过内嵌文档可以避免频繁的关联操作,简化数据模型。但对大型关联数据,...

    MongoDB数据库应用说明

    使用 MongoDB 查询文档可以使用 find 命令。 3.7 MongoDB 条件操作符 MongoDB 提供了多种条件操作符,例如 eq、ne、gt、lt、gte、lte 等。 3.8 MongoDB $type 操作符 $type 操作符可以用来判断文档的类型。 3.9...

    mongodb3.2.4说明文档

    ### MongoDB 3.2.4 说明文档知识点总结 #### 一、MongoDB简介 **1.1 文档型数据库** MongoDB 是一种基于分布式文件存储的开源文档型数据库系统,设计初衷是为了解决传统关系型数据库在处理大规模非结构化数据时...

    mongodb 学习文档

    这份"mongodb 学习文档"涵盖了多个方面的内容,包括MongoDB的基础概念、安装配置、数据模型、查询操作、聚合框架、索引管理、复制集、分片集群等关键知识点。下面将对这些主题进行详细阐述。 一、基础概念 MongoDB...

    MongoDB官方文档

    对于数据库的安全性,MongoDB文档将介绍安全机制的原理和概念,并提供安全性教程来指导用户如何配置认证、授权以及加密等安全选项。安全性参考部分则详细列举了相关的安全命令和设置,是实际操作时的重要参考。 ...

    MongoDB基础教学文档

    5. **索引**:为了提高查询性能,MongoDB允许为文档的特定字段创建索引。索引类型包括单字段、复合字段、唯一索引、地理空间索引等。 6. **分片与复制集**:MongoDB支持水平扩展,即通过分片(Sharding)将数据分散...

    spring mongodb 中文文档

    **Spring MongoDB 中文文档** MongoDB 是一个高性能、开源、无模式的分布式文档数据库,而Spring Data MongoDB 是Spring 框架的一部分,它为MongoDB 提供了强大的支持,简化了与MongoDB 的集成和操作。这篇文档将...

    MongoDB 3.6 中文文档

    MongoDB 3.6 中文文档

Global site tag (gtag.js) - Google Analytics