【MongoDB学习笔记8】深入MongoDB的更新(update)操作:修改器$set
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,MongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如update(args1,args2)args1是指查询文档的条件;args2是指对查询到的文档进行什么样的
千家信息网最后更新 2025年01月20日【MongoDB学习笔记8】深入MongoDB的更新(update)操作:修改器$set
MongoDB中文档存入数据库后用update方法更新文档,update方法有两个参数,例如
update(args1,args2)
args1是指查询文档的条件;
args2是指对查询到的文档进行什么样的修改;
一、文档替换
> joe1= db.post.findOne({"age":20}){ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 20}> joe1.age=2121> db.post.update({"id":1},joe1)WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })>
修改后的结果:
> joe1= db.post.findOne({"age":21}){ "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21}>
二、使用修改器
1.$set修改器
$set用来指定一个字段的值,如果字段不存在就创建;
> db.post.findOne() { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65 }
增加comments的键:
> db.post.update({"id":0}, ... {$set:{"comments":"i love you"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne() { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65, "comments" : "i love you" } >
修改comments键的值:
> db.post.update({"id":0}, {$set:{"comments":"i don't love you"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne() { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65, "comments" : "i don't love you" } >
修改comments的值为数组:
> db.post.update({"id":0}, {$set:{"comments":["i love you","or","i don't love you"]}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":0}) { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65, "comments" : [ "i love you", "or", "i don't love you" ] } >
删除comments的值:
> db.post.update({"id":0}, {$unset:{"comments":1}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":0}) { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65 } >
2.修改内嵌文档
> db.post.findOne({"id":0}) { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65, "comments" : { "1" : 1, "2" : 2, "3" : 3 } } > db.post.update({"id":0}, {$set:{"comments.1":4}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":0}) { "_id" : ObjectId("54a530c3ff0df3732bac167f"), "id" : 0, "name" : "joe", "age" : 65, "comments" : { "1" : 4, "2" : 2, "3" : 3 } } >
文档
修改器
字段
方法
查询
更新
两个
参数
数据
数据库
数组
条件
结果
笔记
学习
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
php怎么查找数据库
连接数据库服务器名称怎么查
东莞市网络安全事件应急预案
大规模智能网络技术
冒险岛威尔服务器人多吗
魔兽世界转服务器同战网
软件开发常用术语及名词
如何登录锐捷服务器管理界面
健康管理师的培训与网络安全
幻塔服务器不通能加好友吗
数据库技术依据
上海纵游网络技术公司
学生网络安全法演讲稿
小学生国家网络安全心得
网络安全的最佳标题
女生前端还是数据库
保护网络安全方案
版纳广播电视台网络安全
数学学不好可以学网络技术吗
什么是世界网络安全的规范性文件
成都萌果果软件开发有限公司
恶魂服务器连不上
三明网络安全技术支撑公司
软件开发招聘最新
linux用什么数据库好
网络安全规划论文3000字
数据库编程有哪些用
永州市软件开发培训哪家好
P背景软件开发
论文数据库表怎么写