【MongoDB学习笔记12】深入MongoDB的更新(update)操作:数组修改
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,查看一个文档的一个键值comments为一个数组["test1","test2"]:> db.post.findOne({"id":1}) { "_id" : ObjectId("5
千家信息网最后更新 2025年11月07日【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安全错误
数据库的锁怎样保障安全
怎么购买台湾服务器虚拟主机
企业落实行业网络安全
bean数据库
中搜网络技术股份
服务器lan口连接交换机
mc服务器防爆是关tnt还是
湖北app软件开发一般要多少钱
mc最大的红石服务器
服务器 招标文件
公安网络安全法治讲课
网络安全指的是什么h
javaweb文件上传至数据库
数据库笔试题及答案
策划网络技术有限公司
数据库的四个技术
网络技术主要涉及哪些方面
服务器验证IP用什么命令
电脑连接服务器请稍后再试
数据库文件的自动增长的设置
正保集团软件开发
刀箱服务器 hxdp
数据库使用命令
网络安全网络文明宣传
河北交友软件开发定制费用
网络安全手抄报的画
信息软件开发质量管理制度范本
幼儿园网络安全自查自纠
腾讯网络安全公开课
农安先进网络技术品质保障
远江盛邦网络安全昌平区政务服务