MongoDB_文档_查询
发布日期:2021-05-04 14:09:18 浏览次数:12 分类:技术文章

本文共 2297 字,大约阅读时间需要 7 分钟。

MongoDB

文章目录

1.查询文档

语法

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

db.collection.find(query, projection)

query :可选,使用查询操作符指定查询条件

projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:

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

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

实例

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

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

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

2.MongoDB 与 RDBMS Where 语句比较

在这里插入图片描述

3.MongoDB AND 条件

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

语法格式如下:

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

实例

以下实例通过 by 和 title 键来查询 database1 中 MongoDB 教程 的数据

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

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

4.MongoDB OR 条件

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

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

实例

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

>db.col.find({$or:[{"by":"database1"},{"title": "MongoDB 教程"}]}).pretty(){        "_id" : ObjectId("56063f17ade2f21f36b03133"),        "title" : "MongoDB 教程",        "description" : "MongoDB 是一个 Nosql 数据库",        "by" : "database1",                "mongodb",                "database",                "NoSQL"        ],        "likes" : 100}>

5.AND 和 OR 联合使用

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

>db.col.find({"likes": {$gt:50}, $or: [{"by": "database1"},{"title": "MongoDB 教程"}]}).pretty(){        "_id" : ObjectId("56063f17ade2f21f36b03133"),        "title" : "MongoDB 教程",        "description" : "MongoDB 是一个 Nosql 数据库",        "by" : "database1",        "tags" : [                "mongodb",                "database",                "NoSQL"        ],        "likes" : 100}
上一篇:matplotlib_数据可视化工具
下一篇:MongoDB_文档_插入_跟新_删除

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月28日 23时36分45秒