MongoDB笔记三——更新操作
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,更新操作和查询操作博大精深。需要好好理解。1、强硬的文档替换式更新操作2、主键冲突的时候会报错并且停止更新操作因为是强硬替换当替换的文档和已有文档ID冲突的时候则系统会报错3、insertOrUpda
千家信息网最后更新 2025年11月07日MongoDB笔记三——更新操作更新操作和查询操作博大精深。需要好好理解。1、强硬的文档替换式更新操作2、主键冲突的时候会报错并且停止更新操作因为是强硬替换当替换的文档和已有文档ID冲突的时候则系统会报错
3、insertOrUpdate操作目的:查询器查出来数据就执行更新操作,查不出来就替换操作
做法:db.[documentName].update({查询器},{修改器},true)
4、批量更新操作默认情况当查询器查询出多条数据的时候默认就修改第一条数据如何实现批量修改
5、使用修改器来完成局部更新操作
6、$addToSet和$each结合完成批量数值更新8、runCommand函数和findAndModify函数
3、insertOrUpdate操作目的:查询器查出来数据就执行更新操作,查不出来就替换操作
做法:db.[documentName].update({查询器},{修改器},true)
4、批量更新操作默认情况当查询器查询出多条数据的时候默认就修改第一条数据如何实现批量修改
5、使用修改器来完成局部更新操作
| 名称 | 语法 | 案例 | 备注说明 |
| $set | {$set:{field:value}} | {$set:{name:"uspcat"}} | 它用来指定一个键值对,如果存在键就进行修改不存在则进行添加. |
| $inc | {$inc:{field:value}} | {$inc:{"count":1}} | 只是使用与数字类型,他可以为指定的键对应的数字类型的数值进行加减操作. |
| $unset | {$unset:{filed:1}} | { $unset : { "name":1 } | 他的用法很简单,就是删除指定的键 |
| $push | { $push : { field : value } } | { $push : { books:"JS"} | 1.如果指定的键是数组增追加新的数值2.如果指定的键不是数组则中断当前操作Cannot apply $push/$pushAll modifier to non-array3.如果不存在指定的键则创建数组类型的键值对 |
| $pushAll | { $pushAll : { field : array } } | { $push : { books:["EXTJS","JS"]} | 用法和$push相似他可以体谅添加数组数据 |
| $addToSet | { $addToSet: { field : value } } | { $addToSet: { books:"JS"} | 目标数组存在此项则不操作,不存在此项则加进去 |
| $pop | {$pop:{field: value}} | {$pop:{name:1}} {$pop:{name:-1}} | 从指定数组删除一个值1删除最后一个数值,-1删除第一个数值 |
| $pull | {$pull:{filed:value}} | {$pull:{"book":"JS"}} | 删除一个被指定的值 |
| $pullAll | {$pullAll:{filed:array}} | {$pullAll:{"name":["JS","JAVA"]}} | 一次性删除多个指定的数值 |
| $ | { $push : { field : value } } | { $push : { books:"JS"} | 1.数组定位器,如果数组有多个数值我们只想对其中一部分进行操作我们就要用到定位器($)例子:例如有文档{name:"YFC",age:27,books:[{type:'JS',name:"EXTJS4"},{type:"JS",name:"JQUERY"},{type:"DB",name:"MONGODB"}]}我们要把type等于JS的文档增加一个相同的作者author是USPCAT办法:db.text.update({"books.type":"JS"},{$set:{"books.$.author":"USPCAT"}}) |
6、$addToSet和$each结合完成批量数值更新8、runCommand函数和findAndModify函数
runCommand可以执行mongoDB中的特殊函数 findAndModify就是特殊函数之一他的用于是返回update或remove后的文档 runCommand({"findAndModify":"processes", query:{查询器}, sort{排序}, new:true update:{更新器}, remove:true }).value ps = db.runCommand({ "findAndModify":"persons", "query":{"name":"text"}, "update":{"$set":{"email":"1221"}}, "new":true}).valuedo_something(ps)http://www.cppblog.com/byc/archive/2011/07/15/151063.aspx
更新
数组
数值
文档
查询
函数
数据
查询器
时候
类型
强硬
特殊
修改器
多个
定位器
就是
数字
会报
冲突
定位
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
最大的软件开发平台
高中计算机网络技术职业规划书
建立一个学生信息的关系数据库
云南小粒咖啡数据库
南通政务软件开发技术
广州微程互联网科技有限公司
如何教孩子网络安全学习
软件开发中的各个活动
华为云怎么开放服务器安全组
济源学习软件开发
网络安全要用什么系统
网络安全保护义务包括
地产类软件开发
郎溪自动化软件开发服务销售厂
软件开发工程师技术工作内容
企业服务器方案
兼容国产操作系统的软件开发
数据库1048错误
lol在广东的服务器云空间
讯虎网络技术
农行数据库使用方法
小程序部署需要数据库么
中银证券服务器延迟
计算机病毒查杀和网络安全
示波器软件开发
非关系数据库oracle
学电脑编程需要学数据库吗
数据库安全管理与备份
网络安全比赛小说
udi数据库怎么编制