mongodb学习心得(四)文档操作(除查询)

mongodb 文档就是 SQL 中的一行数据。

所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。

插入文档

语法

db.collection_name.insert(document)db.collection_name.save(document)

结果

WriteResult({ "nInserted" : 1 })

如果 save 没有指定 _id 字段,则和 insert 一样。

db.collection.insertOne():向指定集合中插入一条文档数据
:db.collection.insertMany():向指定集合中插入多条文档数据

更新文档

语法

db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)

参数

query : update的查询条件,类似sql update查询内where后面的。
update : update的对象和一些更新的操作符(如 , inc…)等,也可以理解为sql update查询内set后面的
upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :可选,抛出异常的级别。

示例

示例请看后边示例1。

在3.2版本开始,MongoDB提供以下更新集合文档的方法:
db.collection.updateOne() 向指定集合更新单个文档
db.collection.updateMany() 向指定集合更新多个文档

替换文档

语法

db.collection.save(
<document>,
{
writeConcern: <document>
}
)

参数

document : 文档数据。
writeConcern :可选,抛出异常的级别。

示例

示例查看示例2。

删除文档

语法

db.collection.remove(
<query>,
<justOne>
)

2.6版本以后
db.collection.remove(
<query>,
{
justOne: <boolean>,
writeConcern: <document>
}
)

参数

query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。

remove() 方法已经过时了,现在官方推荐使用 deleteOne() 和 deleteMany() 方法。

示例

示例1–更新文档

查数据

> db.students.find()
{ "_id" : ObjectId("5ad067e7a20b58c6ab35d65f"),
"name" : "zhangsan",
"tags" : [ "xuesheng", "banzhang" ] }
设置数据
db.students.update({name:"zhangsan"},{$set:{sex:2}})
设置完后查询
{ "_id" : ObjectId("5ad067e7a20b58c6ab35d65f"),
"name" : "zhangsan",
"sex" : 2,
"tags" : [ "xuesheng", "banzhang" ] }
示例2–替换文档

替换

db.students.save(
{"_id": ObjectId("5ad067e7a20b58c6ab35d65f"),
name:"lisi",
desc:"good student",
"tags" : [ "xuesheng", "banzhang" ]})
替换后
{ "_id" : ObjectId("5ad067e7a20b58c6ab35d65f"),
"name" : "lisi",
"desc" : "good student",
"tags" : [ "xuesheng", "banzhang" ] }

猜你喜欢

转载自blog.csdn.net/dulei17816/article/details/79930427
今日推荐