3.4 MongoDB更新文档
MongoDB 使用 update() 和 save() 方法来更新集合中的文档。
update() 更新
update() 方法用于更新已存在的文档。语法格式如下:
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 :可选,抛出异常的级别。
-- 更新name值shanjige为sjg
> db.myTable.update({"name":"shanjige"},{$set:{"name":"sjg"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
save() 更新
save() 方法通过传入的文档来替换已有文档,_id 主键存在就更新,不存在就插入。语法格式如下:
db.collection.save(<document>,{writeConcern: <document>} )
参数说明:
-
document : 文档数据。
-
writeConcern :可选,抛出异常的级别。
-- 更新文档name值renzha为rz > db.myTable.save({ "_id" : ObjectId("62a46eae4c256eb2b320f20c"), "id" : 5, "name" : "rz", "address" : "tangshan" }) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) -- 格式化查询myTable所有数据 > db.myTable.find().pretty() {"_id" : ObjectId("62a46dee4c256eb2b320f208"),"id" : 1,"name" : "goudan","address" : "beijing" } {"_id" : ObjectId("62a46e194c256eb2b320f209"),"id" : 2,"name" : "mz","address" : "beijing" } {"_id" : ObjectId("62a46e644c256eb2b320f20a"),"id" : 3,"name" : "sjg","address" : "beijing" } {"_id" : ObjectId("62a46e644c256eb2b320f20b"),"id" : 4,"name" : "haonan","address" : "jianshazui" } {"_id" : ObjectId("62a46eae4c256eb2b320f20c"),"id" : 5,"name" : "rz","address" : "tangshan" }
MongoDB为什么要更新文档
1. 数据的变化:随着业务的发展和用户需求的变化,文档中的数据也会发生变化,因此需要更新文档来反映最新的信息。
2. 数据的完整性:更新文档可以确保数据的完整性,避免数据的不一致性和错误。
3. 数据的准确性:及时更新文档可以确保数据的准确性,使得数据库中的信息始终保持最新状态。
4. 业务需求:更新文档可以满足新的业务需求,使得数据库能够支持更多的功能和应用场景。
5. 性能优化:更新文档可以优化数据库的性能,提高数据的访问速度和查询效率。
总之,更新文档可以保持数据库中的数据与实际情况保持一致,满足业务需求,并优化数据库的性能。
Guff_hys_python数据结构,大数据开发学习,python实训项目-CSDN博客