【MongoDB学习笔记12】深入MongoDB的更新(update)操作:数组修改
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,查看一个文档的一个键值comments为一个数组["test1","test2"]:> db.post.findOne({"id":1}) { "_id" : ObjectId("5
千家信息网最后更新 2026年11月01日【MongoDB学习笔记12】深入MongoDB的更新(update)操作:数组修改
查看一个文档的一个键值comments为一个数组["test1","test2"]:
> db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test1", "test2" ] } >一、$push向数组末尾添加元素
> db.post.update({"id":1},{$push:{"comments": "test3"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test1", "test2", "test3" ] } >使用$each一次性添加多个值:
> db.post.update({"id":1},{$push:{"comments":{$each:["test4","test5","test6"]}}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test1", "test2", "test3", "test4", "test5", "test6" ] } >二、用$pop删除数组中的元素
从数组末尾删除一个值:
> db.post.update({"id":1},{$pop:{"comments":1}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test1", "test2", "test3", "test4", "test5" ] }从数组开头删除一个值:
> db.post.update({"id":1},{$pop:{"comments":-1}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test3", "test4", "test5" ] } >三、删除数组中一个指定的值:
> db.post.update({"id":1},{$pull:{"comments":"test3"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test4", "test5" ] } >四、基于数组下标位置修改:
> db.post.update({"id":1},{$set:{"comments.1":"test9"}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.post.findOne({"id":1}) { "_id" : ObjectId("54a530c3ff0df3732bac1680"), "id" : 1, "name" : "joe", "age" : 21, "comments" : [ "test2", "test9", "test5" ] } >
数组
元素
末尾
一次性
下标
位置
多个
开头
文档
笔记
学习
更新
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
精品咖啡豆
互联网科技股
互联网科技工作委员会主任
互联网科技垄断
麻工互联网科技
互联网科技公司电话
万易互联网科技有限公司
远信互联网科技
美国互联网黑科技
新华互联网科技校企合作
互联网之后的科技是什么
移动互联网科技股
互联网科技有哪些公司
宝灵互联网科技有限公司
想开互联网科技公司怎么样
科技互联网的核心竞争力
城市宝互联网科技有限公司
互联网界的黑科技
互联网金融运营模式中的金融科技
互联网的黑科技实验室
博彦科技互联网金融
互联网未来科技
湖南洣水互联网科技有限公司扣款
深圳市运趣互联网科技有限公司
互联网科技寓意
武汉健翔互联网络科技有限公司
中国科技创新与世界互联网大会
互联网科技股为什么大涨
互联网界的黑科技
互联网科技自媒体灵感