$set:进行内容的重新设置

语法:{"$set" : {"成员" : "新内容"}};

范例:将年龄是20岁的人的成绩修改为89

db.students.update({"age":20},{"$set":{"score":89}});

②$unset:删除某个成员的内容

语法:{"$unset" : {"成员" : 1}}

范例:删除“张三”的年龄与成绩信息

db.students.update({"name":"张三"},{"$unset":{"score":1,"age":1}});

$inc:增加某个数字字段的数据内容

语法:{"$inc" : {"成员" : 内容}}

范例:将所有年龄为19岁的学生成绩一律减少30分

db.students.update({"age":19},{"$inc":{"score":-30,"age":1}});

$push:将内容追加到指定的成员之中[数组]

进行数组数据的添加操作使用的,如果没有数组则进行一个新的数组的创建,如果有则进行内容的追加。

语法:${"$push" : {成员 : value}}

范例:向“李四”添加课程信息(此时张三信息下没有course信息)

db.students.update({"name":"李四"},{"$push":{"course":"美术"}});

范例:向“谷大神 - E”里面的课程追加一个“美术”

db.students.update({"name":"李四"},{"$push":{"course":"美术"}});

⑤$pushAll|$each:一次追加多个内容到数组里面[数组]

语法:${"$pushAll" : {成员 : 数组内容}}

范例:向“王五”的信息里面添加多个课程内容

db.students.update({"name":"李四A"},{"$pushAll":{"course":["美术","数学"]}});

db.students.update({"name":"李四A"},{"$push":{"course":{$each:["美术","数学"]}}});

⑥$slice:限制数组只包含最后加入的n个元素,其值必须是负整数
加入N个元素,取后M个
db.students.update({"name":"李四A"},{"$push":{"course":{$each:["美术","数学"],$slice:-5}}});
⑦$sort:对数组排序

按照指定的字段来对数据进行排序(1为升序,-1为降序),然后再按照slice删除。

注意:不能只将$slice或者$sort与$push配合使用,且必须使用$each

db.students.update({"name":"李四A"},{"$push":{"course":{$each:["美术","数学"],$slice:-5,$sort:{"course":1}}}});

⑧$ne:判断一个值是否在数组中,如果不在则添加进去
db.students.update({"name":"李四"},{"score":{"$ne":"98"}},{"$push":{"score":"00"}});

$addToSet:向数组里面增加一个新的内容,只有这个内容不存在的时候才会增加

语法:{"$addToSet" : {成员 : 内容}}

范例:向王五的信息增加新的内容

db.students.update({"name":"王五"},{"$addToSet":{"course":"美术"}});

db.students.update({"name":"王五"},{"$addToSet":{"course":["美术","数学"]}});//这是加了个数组进去

$pop:删除数组内的数据

语法:{"$pop" : {成员 : 内容}},内容如果设置为-1表示删除第一个,如果是1表示删除最后一个;

范例:删除王五的第一个课程

db.students.update({"name":"王五"},{"$pop":{"course":-1}});

范例:删除王五的最后一个课程

db.students.update({"name":"王五"},{"$pop":{"course":1}});

⑪$pull:从数组内删除一个指定内容的数据

语法:{"$pull" : {成员 : 数据}},进行数据比对的,如果是此数据则删除;

范例:删除王五学生的音乐课程信息

db.students.update({"name":"王五"},{"$pull":{"course":"音乐"}});

⑫$pullAll:一次性删除多个内容

语法:{"$pull" : {成员 : [数据, 数据,...]}}

范例:删除“谷大神 - A”中的三门课程

db.students.update({"name":"王五"},{"$pullAll":{"course":["音乐","美术","历史"]}});

⑬$rename:为成员名称重命名

·语法:{"$rename" : {旧的成员名称 : 新的成员名称}};

范例:将“张三”name成员名称修改为“姓名”

db.students.update({"name":"王五"},{"$rename":{"name":"姓名"}});

⑭$:用来修改第一个匹配的元素
db.students.update({"name":"王五"},{"$set":{"

course.$

":"数学"}});

 

更多实例

只更新第一条记录:

db.col.update( { "count" : { $gt : 1 } } , { $set : { "test2" : "OK"} } );

全部更新:

db.col.update( { "count" : { $gt : 3 } } , { $set : { "test2" : "OK"} },false,true );

只添加第一条:

db.col.update( { "count" : { $gt : 4 } } , { $set : { "test5" : "OK"} },true,false );

全部添加进去:

db.col.update( { "count" : { $gt : 5 } } , { $set : { "test5" : "OK"} },true,true );

全部更新:

db.col.update( { "count" : { $gt : 15 } } , { $inc : { "count" : 1} },false,true );

只更新第一条记录:

db.col.update( { "count" : { $gt : 10 } } , { $inc : { "count" : 1} },false,false );
 
 
 
 

第10章:MongoDB-CRUD操作--文档--修改--修改器的更多相关文章

  1. 第08章:MongoDB-CRUD操作--文档--删除

    ①语法 remove()  [2.6以后方法过时] deleteOne() [2.6以后官方推荐] deleteMany() [2.6以后官方推荐] db.collection.remove( < ...

  2. 第11章:MongoDB-CRUD操作--文档--查询

    ①语法 db.collection.find(query, projection) ②参数 query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键.查 ...

  3. 第12章:MongoDB-CRUD操作--文档--查询--游标详解

    ①是什么游标 游标不是查询结果,可以理解为数据在遍历过程中的内部指针,其返回的是一个资源,或者说数据读取接口. 客户端通过对游标进行一些设置就能对查询结果进行有效地控制,如可以限制查询得到的结果数量. ...

  4. 第07章:MongoDB-CRUD操作--文档--创建

    ①语法 insert() save()  --有修改没有新增 insertOne() [3.2版本新增]向指定集合中插入一条文档数据 insertMany() [3.2版本新增]向指定集合中插入多条文 ...

  5. 第09章:MongoDB-CRUD操作--文档--修改--update

    ①语法 db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boole ...

  6. Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作

    2 Mongodb CRUD 操作 Mongodb Manual阅读笔记:CH2 Mongodb CRUD 操作Mongodb Manual阅读笔记:CH3 数据模型(Data Models)Mong ...

  7. MongoDB模拟多文档事务操作

    Mongodb不支持多文档原子性操作,因此依据两阶段提交协议(Two Phase Commits protocol)来模拟事务. 以两个银行账户之间的转账行为为例,来说明如何实现多文档间的事务操作. ...

  8. SpringMVC MongoDB之“基本文档查询(Query、BasicQuery)”

    一.简介 spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我 ...

  9. MongoDB CRUD 操作

    crud是指在做计算处理时的增加(Create).读取查询(Retrieve).更新(Update)和删除(Delete)几个单词的首字母简写.crud主要被用在描述软件系统中数据库或者持久层的基本操 ...

随机推荐

  1. 【Linux 线程】同一个进程中的线程共享哪些资源

    进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线 ...

  2. java 基础之--nio 网络编程

    在传统的Java 网络编程中,对于客户端的每次连接,对于服务器来说,都要创建一个新的线程与客户端进行通讯,这种频繁的线程的创建,对于服务器来说,是一种巨大的损耗,在Java 1.4 引入Java ni ...

  3. 整站变灰CSS代码

    * { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); -webkit-filter: grayscale(100% ...

  4. jquery ajax 中实现给变量赋值

    我们在用JQuery的Ajax从后台提取数据后想把它赋值给全局变量,但是却怎么都赋不进,为什么呢? 原因其实很简单,我们用的Ajax是异步操作,也就是说在你赋值的时候数据还没提取出来,你当然赋不进去, ...

  5. 解决video标签在微信中强制全屏、微信全屏播放(Android和IOS)

    在video标签中加上代码: x5-playsinline="true" webkit-playsinline="true" playsinline=" ...

  6. ios证书安装和打包流程

    iOS开发流程 1.拿到源文件 2文件目录大致名字 一.证书配置 参考网站:http://www.jianshu.com/p/9d9e3699515e    (证书配置参考地址) 准备工作 首先要有苹 ...

  7. 【Linux】关于路由跟踪指令traceroute

      稍有计算机常识的人都知道ping命令,是用来检查自己的主机是否与目标地址接通,自己的主机与目标地址的通讯包通讯速率,所谓的通讯包也就是那些什么TCP/IP,UDP包,这里说得通俗一点,比如,就拿这 ...

  8. list集合与HashMap的使用

    List<Map<String, Object>> arrays= new ArrayList<Map<String, Object>>(); Hash ...

  9. idea快捷键及快捷方法(待完善)

    一.快捷键 alt+insert      插入get.set.构造函数等 ctrl+shift+alt+g   生成注释文档 ctrl+shift+alt+z   移除注释文档 Ctrl + Alt ...

  10. UFT12 更新模式

    一. 更新测试(非常规运行模式).  如果您知道应用程序已更改, 请以下列某种模式运行测试以相应更新测试: 维护运行模式.如果预计UFT 无法识别测试中的对象, 则使用此模式.当测试运行时, UFT ...