本文整理自网络,侵删。
目录
- 一、插入文档
- 1、使用insert()方法插入文档
- 2、使用save()方法插入文档
- 二、查询文档
- 1、语法
- 2、实例
- 3、MongoDB AND条件查询
- 4、MongoDB OR 条件查询
- 三、更新文档
- 1、update()方法
- 2、save()方法
- 四、删除文档
- 1、删除title为MongoDB教程的文档,只删除一个:
- 2、删除所有数据
本篇文章中将讲解如何使用MongoDB操作文档。
文档的数据结构和JSON基本一致,所有存储在集合中的数据都是BSON格式。BSON是一种类似json格式的一种二进制形式的存储格式,简称Binary JSON。
一、插入文档
MongoDB使用insert()或save()方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document)
例如:以下文档可以存储在MongoDB的test数据库的MongoDBTest集合中:
{"title" : "MongoDB", "description" : "mongoDB是一个NoSql数据库", "tags" : "NoSql" }
1、使用insert()方法插入文档
在上面的例子中,MongoDBTest是我们的集合名,如果该集合不在该数据库中,MongoDB会自动创建该集合并插入文档。doc是定义的变量,可以以变量的形式插入集合。
查看已经插入的文档:
> db.MongoDBTest.insert(doc) WriteResult({ "nInserted" : 1 }) > db.MongoDBTest.find() { "_id" : ObjectId("5a6f13e72d0b37669c5d2a78"), "title" : "MongoDB", "description" : "mongoDB是一个NoSql数据库", "tags" : "NoSql" } >
2、使用save()方法插入文档
插入文档也可以使用save()方法。如果不知道_id字段save()方法类似于insert()方法。如果指定_id字段,则会更新该_id的数据。
下面的例子表示使用save()命令更新数据:
二、查询文档
MongoDB查询文档使用find()方法。
find()方法以非结构化的方式来显示所有文档。
1、语法
MongoDB查询数据的语法格式如下:
db.collection.find(query,projection)
参数说明:
- query:可选参数,使用查询操作符指定查询条件。
- projection:可选参数,使用投影操作符指定返回的键。如果查询时要返回文档中所有键值,只需省略该参数即可(默认省略)。
如果你需要格式化读取的数据,可以使用pretty()方法,语法格式如下:
db.collection.find().pretty()
pretty()方法以格式化的方式来显示所有文档。
2、实例
例如:查询Student集合中的所有文档。
除了find()方法之外,还有一个findOne()方法,它只返回一个文档。
MongoDB与RDBMS where语句比较
如果你熟悉常规的SQL数据,通过下表可以更好的理解MongoDB的条件语句查询:
操作 | 格式 | 范例 | RDBMS中的类似语句 |
等于 | {<key>:<value>} | db.Student.find({"name":"张三"}).pretty() | where name='张三' |
小于 | {<key>:{$lt:<value>}} | db.Student.find({"score":{$lt:"80"}}).pretty() | where score<80 |
小于或等于 | {<key>:{$lte:<value>}} | db.Student.find({"score":{$lte:"80"}}).pretty() | where score<=80 |
大于 | {<key>:{$gt:<value>}} | db.Student.find({"score":{$gt:"80"}}).pretty() | where score>80 |
大于或等于 | {<key>:{$gte:<value>}} | db.Student.find({"score":{$gte:"80"}}).pretty() | where score>=80 |
不等于 | {<key>:{$ne:<value>}} | db.Student.find({"score":{$ne:"80"}}).pretty() | where score!=80 |
(1)查询name是张三的学生
db.Student.find({"name":"张三"}).pretty()
查询结果如下图所示:
(2)查询成绩小于80的学生
db.Student.find({"score":{$lt:"80"}}).pretty()
查询结果如下图所示:
(3)查询成绩小于等于80的学生
db.Student.find({"score":{$lte:"80"}}).pretty()
查询结果如下图所示:
(4)查询成绩大于80分的学生
db.Student.find({"score":{$gt:"80"}}).pretty()
相关阅读 >>
mongodb快速入门笔记(六)之mongodb的文档修改操作
更多相关阅读请进入《mongodb》频道 >>
数据库系统概念 第6版
机械工业出版社
本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。
转载请注明出处:木庄网络博客 » 使用MongoDB操作文档
相关推荐
评论
管理员已关闭评论功能...