第16章 MongoDB 查询文档教程

第16章 MongoDB 查询文档教程

第16章 MongoDB 查询文档教程使用 find() 方法。

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

语法

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


    db.collection.find(query, projection)

  • query :非必输,使用查询操作符指定查询条件
  • projection :非必输,使用投影操作符指定return 的键。查询时return 文档中所有键值, 只需省略该参数即可(默认省略)。

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


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

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

实例

以下实例咱们查询了集合 col 中的数据:


    > db.col.find().pretty()
    {
            "_id" : ObjectId("56063f17ade2f21f36b03133"),
            "title" : "MongoDB 教程",
            "description" : "MongoDB 是一个 Nosql database",
            "by" : "liulianjiangcsdn教程",
            "url" : "http://blog.csdn.net/qq441540598",
            "tags" : [
                    "mongodb",
                    "database",
                    "NoSQL"
            ],
            "likes" : 100
    }

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


MongoDB 与 RDBMS Where 语句比较

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

操作格式范例RDBMS中的类似语句
等于{<key>:<value>}db.col.find({"by":"liulianjiangcsdn教程"}).pretty()where by = 'liulianjiangcsdn教程'
小于{<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 键来查询 liulianjiangcsdn教程MongoDB 教程 的数据


    > db.col.find({"by":"liulianjiangcsdn教程", "title":"MongoDB 教程"}).pretty()
    {
            "_id" : ObjectId("56063f17ade2f21f36b03133"),
            "title" : "MongoDB 教程",
            "description" : "MongoDB 是一个 Nosql database",
            "by" : "liulianjiangcsdn教程",
            "url" : "http://blog.csdn.net/qq441540598",
            "tags" : [
                    "mongodb",
                    "database",
                    "NoSQL"
            ],
            "likes" : 100
    }

以上实例中类似于 WHERE 语句:WHERE by=‘liulianjiangcsdn教程’ AND title=‘MongoDB 教程’


MongoDB OR 条件

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


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

实例

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


    >db.col.find({$or:[{"by":"liulianjiangcsdn教程"},{"title": "MongoDB 教程"}]}).pretty()
    {
            "_id" : ObjectId("56063f17ade2f21f36b03133"),
            "title" : "MongoDB 教程",
            "description" : "MongoDB 是一个 Nosql database",
            "by" : "liulianjiangcsdn教程",
            "url" : "http://blog.csdn.net/qq441540598",
            "tags" : [
                    "mongodb",
                    "database",
                    "NoSQL"
            ],
            "likes" : 100
    }
    >


AND 和 OR 联合使用

以下实例演示了 AND 和 OR 联合使用,类似常规 SQL 语句为: ‘where likes>50 AND (by = ‘liulianjiangcsdn教程’ OR title = ‘MongoDB 教程’)’


    >db.col.find({"likes": {$gt:50}, $or: [{"by": "liulianjiangcsdn教程"},{"title": "MongoDB 教程"}]}).pretty()
    {
            "_id" : ObjectId("56063f17ade2f21f36b03133"),
            "title" : "MongoDB 教程",
            "description" : "MongoDB 是一个 Nosql database",
            "by" : "liulianjiangcsdn教程",
            "url" : "http://blog.csdn.net/qq441540598",
            "tags" : [
                    "mongodb",
                    "database",
                    "NoSQL"
            ],
            "likes" : 100
    }

本专栏所有文章

第1章 MongoDB 教程第2章 NoSQL 简介教程
第3章 MongoDB 简介教程第4章 Windows MongoDB教程
第5章 Linux MongoDB教程第6章 OSX MongoDB教程
第7章 MongoDB 概念解析教程第8章 MongoDB 连接教程
第9章 MongoDB 创建数据库教程第10章 MongoDB 删除数据库教程
第11章 MongoDB 创建集合教程第12章 MongoDB 删除集合教程
第13章 MongoDB 插入文档教程第14章 MongoDB 更新文档教程
第15章 MongoDB 删除文档教程第16章 第16章 MongoDB 查询文档教程教程
第17章 MongoDB 条件操作符教程第18章 MongoDB $type 操作符教程
第19章 MongoDB Limit与Skip方法教程第20章 MongoDB 排序教程
第21章 MongoDB 索引教程第22章 MongoDB 聚合教程
第23章 MongoDB 复制(副本集)教程第24章 MongoDB 分片教程
第25章 MongoDB 备份与恢复教程第26章 MongoDB 监控教程
第27章 MongoDB Java教程第28章 MongoDB PHP 扩展教程
第29章 MongoDB PHP教程第30章 MongoDB PHP7教程
第31章 Node.js MongoDB教程第32章 MongoDB 关系教程
第33章 MongoDB 数据库引用教程第34章 MongoDB 覆盖索引查询教程
第35章 MongoDB 查询分析教程第36章 MongoDB 原子操作教程
第37章 MongoDB 高级索引教程第38章 MongoDB 索引限制教程
第39章 MongoDB ObjectId教程第40章 MongoDB Map Reduce教程
第41章 MongoDB 全文检索教程第42章 MongoDB 正则表达式教程
第43章 MongoDB 管理工具教程第44章 MongoDB GridFS教程
第45章 MongoDB 固定集合教程第46章 MongoDB 自动增长教程

寄语

本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598

  • 创新的功能——促使竞争生态结构的改变,它提供我们挑战传统的新观念,促使我们推动全球分工的新思维,技术整合的新方法,人才培育的新方法。
  • 我的宿舍我做主,经营好生活的节奏,追求高质量的生活目标。
  • 不可能的事别想不可能的人别等明知道不会有任何结果还泥足深陷就是你活该。
  • 年轻球员有点像甜瓜,只有当你打开并品尝之后,才能100%知道瓜是不是很好吃。有的甜瓜看起来很漂亮,但它们口味不佳;有的甜瓜长得很丑,但当你打它开之后才知道,味道好极了。"
  • 功夫自难处做去,如逆风鼓棹,才是一段真精神;学问自苦中得来,似披沙获金,才是一个真消息。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

榴莲酱csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值