【MongoDB学习笔记12】深入MongoDB的更新(update)操作:数组修改
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,查看一个文档的一个键值comments为一个数组["test1","test2"]:> db.post.findOne({"id":1}) { "_id" : ObjectId("5
千家信息网最后更新 2025年01月20日【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安全错误
数据库的锁怎样保障安全
网络安全行为漏洞
审计 网络安全自查报告
数据库 剔重
朱啸虎互联网科技企业
两个 sqlite 数据库
养狗软件开发
山东联通宽带服务器云服务器
易霖金桥网络技术有限公司
服务器系统安全防御
云服务器清理缓存
华硕软件开发笔记本电脑配置
数据库管理平台 本地化
软件开发信息安全相关工作
中国网络安全法第九条
微商防窜货软件开发
宁波软件开发好找工作吗
苹果12服务器地址是什么
手机终端服务器
保护网络安全宣传图片
江苏电脑软件开发收费报价表
电脑上有自带数据库吗
南京六秒网络技术有限公司
软件开发技术员工资组成
公安局网络安全信息中心
迁安网络安全宣传
春考计算机网络技术试题
安卓软件开发ide
软件开发 上海 北京 工资
sql还原数据库的语句
一个安全的32k服务器