【MongoDB学习笔记13】MongoDB的更新(update)操作进阶
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,一、批量更新默认只对符合条件的一条文档更新> db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "n
千家信息网最后更新 2026年10月31日【MongoDB学习笔记13】MongoDB的更新(update)操作进阶
一、批量更新
默认只对符合条件的一条文档更新
> db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 49 } { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test9", "test5" ] }> db.post.update({"name":"joe"}, {$set:{"age":70}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 70 } { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test9", "test5" ] } >
利用update的第四个参数进行批量更新:
> db.post.update({"name":"joe"}, {$set:{"age":30}},false,true) WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })> db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30 } { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ] } >附注:update方法参考
update( criteria, objNew, upsert, multi )
criteria : update的查询条件,类似sql update查询内where后面的
objNew : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert : 这个参数的意思是,无论false还是true,没有匹配的键则新增加一个;
multi : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
二、更新文档键值,无键值的则新增键值;
> db.post.update({"name":"joe"}, {$set:{"sex":1}},false,true) WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 }) > db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30, "sex" : 1 } { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ], "sex" : 1 } > db.post.update({"name":"joe"}, {$set:{"school":"marry"}},true,true) WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 }) > db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "name" : "joe", "age" : 30, "sex" : 1, "school" : "marry" } { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 30, "comments" : [ "test2", "test9", "test5" ], "sex" : 1, "school" : "marry" } >
更新
参数
条件
查询
文档
多条
对象
意思
操作符
方法
还是
附注
参考
笔记
进阶
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
工业互联网科技新基建
美国互联网科技巨头监管
互联网医疗科技
为想互联网科技
丰台科技园 互联网
西安互联网科技公司
安控科技rtu产品工业互联网
创业天下互联网科技有限公司
互联网金融科技公司干啥的
华服互联网科技官网
厦门比较好的科技互联网公司
晓花互联网科技有限公司网址
洛阳共同富裕互联网科技有限公司
互联网科技的全部知识
爱医互联网络科技
明优互联网科技有限公司
富国互联网金融科技混合基金
中国科技和美国互联网
互联网科技大佬云集
中国主要互联网科技公司
博彦科技互联网金融
广州万易互联网科技有限公司
科技金融是不是互联网金融
深圳恒合互联网络科技有限公司
互联网科技视频
丰台科技园 互联网
成都仁贤领冠互联网科技有限公司
为客找房互联网科技公司怎么样
互联网科技的前景
亚光科技低轨卫星互联网