MongoDB(课时17 更新函数)
3.4.3 数据更新操作
MongoDB数据存的是副本数据, 最终的数据还要保存在传统的数据库里,所以如果关系型数据库里数据变了,最好的方法是删除里面的MongoDB数据重新插入。
在MongoDB里面对于数据的更新操作提供了两类函数:save()、update()
3.4.3.1 函数的基本使用
修改数据最直接的使用函数是update()函数,但是update()函数语法要求很麻烦。
- 语法:db.集合.update(更新条件, 新的对象数据, upsert, multi)
新的对象数据:里面可以有一些操作符。
upsert:更新的数据不存在,则增加一条新的内容(true为增加,false为不增加)(upsert 更新插入)
multi:表示是否只满足条件的第一行记录(设置为false,只更新第一条,为true全更新)(multi多)
范例:更新存在的数据——更新年龄是19岁的人的成绩为100分,只更新其中一条。
db.students.update({"age" : 19}, {"$set" : {"score" : 100}}, false, false)
# 更新条件:{"age" : 19}
# 新的对象数据:里面包含的操作符{"$set" : {"score" : 100}}
# "$set"为修改器,这里只用来修改数据,其实集合结构也能修改,因为MongoDB是无模式的
# 第一个为false:表示更新的数据不存在的话不增加
# 第二个为false:表示只更新一条
表示只更新了一条。
范例:更新年龄是19岁的人的成绩为100分,只更新其中多条。
db.students.update({"age" : 19}, {"$set" : {"score" : 100}}, false, true)
# 第二个为true表示更新多条
表示匹配了12条,更新了11条,有一条前面已经更新了。
范例:更新不存在的数据
db.students.update({"age" : 30}, {"$set" : {"name" : "不存在"}}, true, false)
# 第一个为true表示为数据不存在的话增加
"nMatched" : 0表示匹配数为0 "nUpserted" : 1表示更新数为1 "nModified" : 0表示修改数为0
MongoDB(课时17 更新函数)的更多相关文章
- 课时17:函数:Python的乐高积木
目录: 一.创建和调用函数 二.函数的参数 三.函数的返回值 四.课时17课后习题及答案 为了使得程序得代码变得简单,就需要把程序分解成较小得组成部分.有三种方法可以实现:函数.对象.模块. **** ...
- MongoDB (课时1,2)
1.数据库之中支持的的SQL语句是由IBM开发出来的,使用并不麻烦,就是几个简单的单词:select, from, where, group by, having, order by.目前最流行的数 ...
- 3.16 draw 3.17 更新函数
3.16 draw virtual void draw(); void HelloWorld::draw() { CCSize size = CCDirector::sharedDirector()- ...
- 面向对象程序设计-C++_课时17函数重载和默认参数
函数重载,区别一是参数类型不同,二是参数个数不同. 默认参数可以多于1个,但必须放在参数序列的后部. 尽量不要用默认参数,会影响阅读 error C2668: “f”: 对重载函数的调用不明确 #in ...
- 课时17.WebStorm安装(理解)
开发工具(工欲善其事,必先利其器) 为了让大家更快的融入到编程的世界中去,不被繁琐的英文单词所困扰,不用每天编写很多没有意义的重复代码,提升大家的开发效率,今后的课程中我们统一采用开发工具来编写网页 ...
- MongoDB小结17 - find【查询条件$or】
我们再添加一个游泳的人,并用$in查询游泳的人 db.user.find({"hobby":{"$in":["swimming"]}},{& ...
- 在 CentOS7 上安装 MongoDB
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...
- 初识Mongodb之[CURD]-PHP版
行动 在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作. 数据连接初始账号password 账号:admin password:admin 首先我们建立一个文件:mongodb.php,设 ...
- Mongodb 参数说明及常见错误处理
在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录:cd /usr/local 3 在当前目录下 ...
随机推荐
- 简单的js动态显示当前时间
js中获取当前时间首先我们要new一个时间对象 var data = new Date(); 然后可以点出很多方法.获取不同的时间格式 自己可以去尝试
- Javascript-涨工资案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- php7安装memchced扩展
tar -zxvf memcached-3.0.3.tgz cd memcached-3.0.3 phpize yum install libmemcached libmemcached-dev ./ ...
- redis桌面管理工具 redis-desktop-manager使用指南(转)
版权声明:转自 http://blog.csdn.net/li396864285/article/details/54629898 概要:一款好用的Redis桌面管理工具,支持命令控制台操作, ...
- 完整table
.table-bordered{ border:1px solid #cccccc; } .table { border-spacing: 0;/*设置或检索当表格边框独立时(即border-coll ...
- mac下安装了brew
使用mac后发现很多软件都可以通过终端命令brew...来安装. 查了一下,发现brew原来是osx系统上的软件包管理工具,全名是Homebrew,官网:https://brew.sh(这官竟然还包含 ...
- linux常用命令:find命令之xargs
在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec的命令长度有限制,这样在find命令运行几分钟之后,就会出 ...
- python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法
python3.4学习笔记(二十) python strip()函数 去空格\n\r\t函数的用法 在Python中字符串处理函数里有三个去空格(包括'\n', '\r', '\t', ' ')的函数 ...
- Chrome 性能监测
前端性能优化一直是前端工作中必不可少的一部分,但是我们如何知道哪些部分的性能有优化的空间呢?此时,Chrome 性能监测就派上用场了. 正所谓:知己知彼,百战百胜,只有确定了性能瓶颈,才能有条不紊地进 ...
- MySQL笔记(二)数据库对象的创建和管理
学校用 sqlserver ,记录数据移植到 mysql 过程中的一些问题(对应数据类型,主键外键等). 索引: 查看数据的物理路径 查看表相关的信息(SHOW CREATE TABLE.DESC) ...