第10章:MongoDB-CRUD操作--文档--修改--修改器
①
语法:{"$set" : {"成员" : "新内容"}};
范例:将年龄是20岁的人的成绩修改为89
db.students.update({"age":20},{"$set":{"score":89}});
语法:{"$unset" : {"成员" : 1}}
范例:删除“张三”的年龄与成绩信息
db.students.update({"name":"张三"},{"$unset":{"score":1,"age":1}});
语法:{"$inc" : {"成员" : 内容}}
范例:将所有年龄为19岁的学生成绩一律减少30分
db.students.update({"age":19},{"$inc":{"score":-30,"age":1}});
进行数组数据的添加操作使用的,如果没有数组则进行一个新的数组的创建,如果有则进行内容的追加。
语法:${"$push" : {成员 : value}}
范例:向“李四”添加课程信息(此时张三信息下没有course信息)
db.students.update({"name":"李四"},{"$push":{"course":"美术"}});
范例:向“谷大神 - E”里面的课程追加一个“美术”
db.students.update({"name":"李四"},{"$push":{"course":"美术"}});
语法:${"$pushAll" : {成员 : 数组内容}}
范例:向“王五”的信息里面添加多个课程内容
db.students.update({"name":"李四A"},{"$pushAll":{"course":["美术","数学"]}});
db.students.update({"name":"李四A"},{"$push":{"course":{$each:["美术","数学"]}}});
按照指定的字段来对数据进行排序(1为升序,-1为降序),然后再按照slice删除。
注意:不能只将$slice或者$sort与$push配合使用,且必须使用$each
db.students.update({"name":"李四A"},{"$push":{"course":{$each:["美术","数学"],$slice:-5,$sort:{"course":1}}}});
语法:{"$addToSet" : {成员 : 内容}}
范例:向王五的信息增加新的内容
db.students.update({"name":"王五"},{"$addToSet":{"course":"美术"}});
db.students.update({"name":"王五"},{"$addToSet":{"course":["美术","数学"]}});//这是加了个数组进去
⑩
语法:{"$pop" : {成员 : 内容}},内容如果设置为-1表示删除第一个,如果是1表示删除最后一个;
范例:删除王五的第一个课程
db.students.update({"name":"王五"},{"$pop":{"course":-1}});
范例:删除王五的最后一个课程
db.students.update({"name":"王五"},{"$pop":{"course":1}});
语法:{"$pull" : {成员 : 数据}},进行数据比对的,如果是此数据则删除;
范例:删除王五学生的音乐课程信息
db.students.update({"name":"王五"},{"$pull":{"course":"音乐"}});
语法:{"$pull" : {成员 : [数据, 数据,...]}}
范例:删除“谷大神 - A”中的三门课程
db.students.update({"name":"王五"},{"$pullAll":{"course":["音乐","美术","历史"]}});
·语法:{"$rename" : {旧的成员名称 : 新的成员名称}};
范例:将“张三”name成员名称修改为“姓名”
db.students.update({"name":"王五"},{"$rename":{"name":"姓名"}});
course.$
":"数学"}});
只更新第一条记录:
全部更新:
只添加第一条:
全部添加进去:
全部更新:
只更新第一条记录:
第10章:MongoDB-CRUD操作--文档--修改--修改器的更多相关文章
- 第08章:MongoDB-CRUD操作--文档--删除
①语法 remove() [2.6以后方法过时] deleteOne() [2.6以后官方推荐] deleteMany() [2.6以后官方推荐] db.collection.remove( < ...
- 第11章:MongoDB-CRUD操作--文档--查询
①语法 db.collection.find(query, projection) ②参数 query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键.查 ...
- 第12章:MongoDB-CRUD操作--文档--查询--游标详解
①是什么游标 游标不是查询结果,可以理解为数据在遍历过程中的内部指针,其返回的是一个资源,或者说数据读取接口. 客户端通过对游标进行一些设置就能对查询结果进行有效地控制,如可以限制查询得到的结果数量. ...
- 第07章:MongoDB-CRUD操作--文档--创建
①语法 insert() save() --有修改没有新增 insertOne() [3.2版本新增]向指定集合中插入一条文档数据 insertMany() [3.2版本新增]向指定集合中插入多条文 ...
- 第09章:MongoDB-CRUD操作--文档--修改--update
①语法 db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boole ...
- Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作
2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...
- MongoDB模拟多文档事务操作
Mongodb不支持多文档原子性操作,因此依据两阶段提交协议(Two Phase Commits protocol)来模拟事务. 以两个银行账户之间的转账行为为例,来说明如何实现多文档间的事务操作. ...
- SpringMVC MongoDB之“基本文档查询(Query、BasicQuery)”
一.简介 spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我 ...
- MongoDB CRUD 操作
crud是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Delete)几个单词的首字母简写.crud主要被用在描述软件系统中数据库或者持久层的基本操 ...
随机推荐
- http406错误
The resource identified by this request is only capable of generating responses with characteristics ...
- mybatis插入数据并获取主键值
有时候我们的主键是自增的,但是我们想要在插入一条数据以后获取这条数据的主键值,而我们知道,mybatis执行完插入操作以后返回的是生效的记录数.那如何才能获取这个主键值呢. 1.在配置文件mapper ...
- java实现rabbitMQ延时队列详解以及spring-rabbit整合教程
在实际的业务中我们会遇见生产者产生的消息,不立即消费,而是延时一段时间在消费.RabbitMQ本身没有直接支持延迟队列功能,但是我们可以根据其特性Per-Queue Message TTL和 Dead ...
- linux命令学习之:sed
sed:Stream Editor文本流编辑,sed是一个“非交互式的”面向字符流的编辑器.能同时处理多个文件多行的内容,可以不对原文件改动,把整个文件输入到屏幕,可以把只匹配到模式的内容输入到屏幕上 ...
- [ERR] Node 192.168.25.135:7001 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.
原文链接:https://www.cnblogs.com/huxinga/p/6644226.html 解决办法:将redis全部shutdown 将每个节点下aof.rdb.nodes.conf本地 ...
- mysql定位慢查询
mysql定位慢查询 //显示数据库的状态 show status; //显示执行了多少次插入 show status like 'com_insert'; //显示执行了多少次更新 show sta ...
- u-boot之内核是怎么启动的
在u-boot之start_armboot函数分析已经分析过了整个程序框架,但只是说了下什么时候运行内核,并没有具体说明是怎么执行内核的.内核启动分以下几个步骤说明: 1.启动参数bootcmd=na ...
- cookie session ORM 操作
. ORM增删改查操作 http://www.cnblogs.com/liwenzhou/p/8660826.html . 单表增删改查 . 单表的双下划线操作 . 外键的跨表查询 . 正向查询 . ...
- js全局作用域
全局作用域 不在任何函数内定义的变量就具有全局作用域.实际上,JavaScript默认有一个全局对象window,全局作用域的变量实际上被绑定到window的一个属性: var course = 'L ...
- MyBatis Generator介绍
MyBatis Generator介绍 MyBatis Generator (MBG) 是一个Mybatis的代码生成器 MyBatis 和 iBATIS. 他可以生成Mybatis各个版本的代码,和 ...