【MongoDB学习笔记13】MongoDB的更新(update)操作进阶
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,一、批量更新默认只对符合条件的一条文档更新> db.post.find() { "_id" : ObjectId("54a530c3ff0df3732bac1681"), "id" : 2, "n
千家信息网最后更新 2025年01月21日【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安全错误
数据库的锁怎样保障安全
河南飞普网络技术有限公司简介
中科星图软件开发笔试
创造与魔法抄家服务器怎么进
21年数据库运营情况
国际服务器代理
网络安全法歌谣是什么
更新软件的地址就是服务器地址
免费云数据库平台
武汉麦谷网络技术有限公司
在家怎么登录公司的数据库
监控存储服务器
java应用服务器需要什么环境
末日来袭怎样选择服务器
惠普服务器电源无输出什么问题
dell服务器默认密码
小鹅网络技术有限公司利润表
游戏软件开发读什么专业
服务器无法启动光标一直闪烁
德清县手机app软件开发
滴滴网络安全审查
泛亚软件开发
数据库中班级表包含哪些
网络安全法 政治
加强网络技术防控
sql数据库同步配置
迅雷搜索软件开发
鼠标无法连接到服务器
如何认定为软件开发企业
2017重大网络安全事件
服务器i和端口