MongoDB笔记三——更新操作
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,更新操作和查询操作博大精深。需要好好理解。1、强硬的文档替换式更新操作2、主键冲突的时候会报错并且停止更新操作因为是强硬替换当替换的文档和已有文档ID冲突的时候则系统会报错3、insertOrUpda
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
四化网络安全管理
配送中心分拣软件开发
崩坏三苹果服务器选择
金融行业国产数据库有哪些
ps数据库变量名称不足
国家网络安全周举行的时间是
打印机远程服务器如何开启
底层驱动软件开发面试
局域网采用什么网络技术
服务器设置vpn
软件开发的模式有哪几种
全球网络安全短缺
怎么用数据库打开mdf
北斗定位软件开发
数据库耗电量大怎么解决
重庆交易软件开发中心
数据库安全有什么用
常州软件开发设计规范
网络安全行为十禁具体内容
服务器机柜过滤器订制
查看服务器配置以及磁盘空间
计算机三级网络技术的课程
数据库 索引 是否有效
数据库常见的索引
数据库ssms方式
互联网科技自媒体创业防骗
电脑数据库服务器是什么
知名的独立软件开发商
论文 网络安全方面重大事件
epic从哪里调服务器