MongoDB的update和set的用法
MongoDB的update和set
db.集合.update({参数1}, {参数2}, {参数3})
,参数1
是筛选条件,通过条件找到数据,参数2
是要修改的内容,要将找到的数据的内容修改成什么样,参数3
是一个条件,来决定update
是否要将所有符合条件的文档全部更改。
update的特点
update
默认只会修改符合条件的第一条数据,如果有多条数据符合条件,那么也只会修改第一条。如果想修改全部符合条件的文档,那么需要将第三个参数写为{milti:true}
update
默认是覆盖式写入,也就是参数2是什么样,那么写完之后文档就是什么样,最多也就多一个id
,因为默认不会把id
覆写。如果想改某个字段的值而非整个文档覆写,需要使用一个$set
$set
$set
是为了弥补update
覆写的特点,可以根据条件找到文档,然后只修改文档中某些字段的值,而非覆盖式写入。
用法:db.users.update({age:21},{$set:{name:'wuhu'}})
,既update
的参数2
写为{$set:{xxx:yyy}}
,xxx
是要设置的字段名,yyy
是设置的值。
如果$set设置了原本就存在的字段,那么就是修改。
如果设置了原本不存在的字段,那么就会新增字段。
例子
//用来查询
db.users.find()//插入10条数据,用于测试
var arr =[];
for(var i = 0; i < 10; i++){arr.push({name:'wc'+i, age:18+i});};
db.users.insertMany(arr);//将age为18的文档,更新为score:199,score原本不存在,但依然直接覆写了
db.users.update({age:18},{score:199})//将age为20的文档,改为name:wuhu,name原本存在,这里还是直接覆写
db.users.update({age:20},{name:'wuhu'})//将age为21的文档,设置为name为wuhu,结果是age还是21,name改为了wuhu,只更新没覆写
db.users.update({age:21},{$set:{name:'wuhu'}})//将age为22的文档,设置为name为bangbuzhule,gender为excited
//name原本就有,所以更新了,gender原本没用,这里直接新增了一个字段
db.users.update({age:22},{$set:{name:'bangbuzhule',gender:'excited'}})//将name为wuhu的所有文档的size字段改为18cm,multi为true就代表着将全部符合条件的文档进行更改
db.users.update({name:'wuhu'},{$set:{size:'18cm'}},{multi:true})
MongoDB的update和set的用法相关推荐
- Mongodb的update操作
在前面的文章"mongodb 查询的语法"里,我介绍了Mongodb的常用查询语法,Mongodb的update操作也有点复杂,我结合自己的使用经验,在这里介绍一下,给用mongo ...
- 标准SQL的update语句三种用法
标准SQL的update语句三种用法 一.环境: MySQL-5.0.41-win32 Windows XP professional 二.建立测试环境: DROP TABLE IF EXIS ...
- sudo apt-get update 与upgrade的用法
sudo apt-get update 与upgrade的用法 在windows下安装软件,我们只需要有EXE文件,然后双击,下一步直接OK就可以了.但在LINUX下,不是这样的.每个LINUX的发行 ...
- mysql更新语句用法_MySQL update 语句的正确用法
以下的文章主要介绍的MySQL update 语句的实际用法,我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案,以下就是文章的详细内容描述,望你看完之后会有收获. ...
- mysql for update用处_for update的作用和用法
一.for update定义 for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它 ...
- mongodb php update,MongoDB文档的更新(php代码实例)
MongoDB更新文档分为两大类:文档替换,使用新文档完全替换掉旧文档 修改器,修改部分文档 文档替换 使用文档替换非常的简单,下面来看演示:$collect->insertOne(['name ...
- mongoDB之update和save操作
mongoDB更新文档,通过update和save方法进行文档更新操作: update()方法 ...
- MongoDB的update更新使用方法
Update操作只作用于集合中存在的文档.MongoDB提供了如下方法来更新集合中的文档: db.collection.update() db.collection.updateOne() New i ...
- MySQL中for update的作用和用法
一.for update定义 for update是一种行级锁,又叫排它锁. 一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行. 如果 ...
最新文章
- 三十一、具有快表的地址变换机构
- jQuery1.4的15个新特性实例精讲
- 博客园出现了奇怪的cookie问题
- 精益数据分析 | 你孜孜追求的“增长”可能只是自嗨
- HNU 11720 God Created The Integers
- LeetCode (合集)合并链表和数组
- 使用Emacs执行外部shell命令
- 银监计算机类 考试题库,银监会(计算机类)笔试资料-微观经济学试题库 .doc...
- java做http接口
- 大数据时代的数据挖掘是怎么做的?
- C语言自学完备手册(02)——变量的声明与定义
- numpy向量化函数
- win10计算机搜索记录怎么删除,win10系统清除电脑里搜索记录的操作方法
- 服务器中心地址,互联网时间同步服务器地址(国家授时中心服务器)
- ADAM A METHOD FOR STOCHASTIC OPTIMIZATION
- 父进程回收子进程之wait()函数使用解读
- 个人对*xx与**xx的理解
- 【BZOJ1645】[Usaco2007 Open]City Horizon 城市地平线 离散化+线段树
- 【FPGA】实战之创建项目
- 计算机专业调研报告图片,计算机专业毕业设计论文(计算机专业调研报告范文)...