1"$set":用来制定一个字段值,若不存在,则创建;

   一般用于点加一个字段

  db.users.update({name:"joe"},{"$set":{"favorite book":"War and Peace"}})

  还可以修改一个字段

  db.users.update({name:"joe"},{"$set":{"favorite book":"Your"}})

 还可以删除

  db.users.update({name:"joe"},{"$unset":{"favorite book":"Your"}})

2"$inc":增加或者减少

                用来增加已有的键的值,不存在则创建一个,比如某网站的访问量

 db.users.update({name:"joe"},{"$inc":{"score":1}})

 每次访问都会增加1

3"$push":会向已有的数组末尾添加一个元素,要是没有,创建一个新的数组。

  比如要添加一个评论:
  db.users.update({name:"joe"},{"$push":{"comments":{"name":"joe","email":"joe@yahoo.com","conment":"nice"}}})

 还想添加,继续修改即可

db.users.update({name:"joe"},{"$push":{"comments":{"name":"bob","email":"bob@yahoo.com","conment":"good"}}})

4."$each"

      "$each"与"$push"结合,可以操作复杂的数组。可以一次添加多个值

var users={"username":"joe",
          "email":[
                       "joe@example.com",
                       "joe@exam.com",
                     "joe@yahoo.com"]}
 db.users.insert(users)
 db.users.find()
 db.users.update({"username":"joe"},
                          {"$addToSet":{"email":"joe@mail.com"}})
 db.users.update({"username":"joe"},
                           {"$addToSet":{
                                     "email":{
                                     "$each":["joe@qq.com","joe@Hadoop.com","joe@python.com"]}}})

结果展示:
   

{
"_id" : ObjectId("57600ffd73b4b5108cfff9b0"),
    "username" : "joe",
   "email" : [
   "joe@example.com",
   "joe@exam.com",
   "joe@yahoo.com",
   "joe@mail.com",
   "joe@qq.com",
    "joe@Hadoop.com",
  "joe@python.com"
   ]
}

5"$pop""$pull"删除元素的方法。类似于堆栈中的出栈操作
  

db.lists.insert({"todo":["dishes","laundry","dry cleaning"]})
db.lists.find()
db.lists.update({},{"$pull":{"todo":"laundry"}})

6基于位置的修改可以使用定位操作符"$"

  如: db.blog.plogs.update({"post","post_id"},

                                             {"$inc":"comments.0.votes":1})

   实际在数据库中,数组的下标很难确定,我们采用

  db.blog.update({"comments.author":"Jim"},

                             {"$set":{"comments.$.author":"Wade"}})

MongoDB修改器总结的更多相关文章

  1. mongodb修改器

    mongodb修改器 转载自:http://blog.csdn.net/mcpang/article/details/7752736 mongodb修改器(\(inc/\)set/\(unset/\) ...

  2. mongodb修改器(转)

    MongoDB 修改器 对文档中的某些字段进行更新 $inc 专门用来增加(或减少)数字的,只能用于整数,长整数或双精度浮点型的值$inc键的值必须为数字,不能使用字符串,数组或其他非数字的值如果键不 ...

  3. Mongodb更新数组$pull修饰符 (mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))

    mongodb 修改器($inc/$set/$unset/$push/$pop/upsert))   https://www.jb51.net/article/112588.htm http://bl ...

  4. MongoDB修改器的使用1

    为什么要使用修改器?     通常我们只会修改文档的一部分,这时候更新整个文档就显得很麻烦,通常是通过原子性的更新修改器来完成. 1."$set"修改器    "$set ...

  5. mongoDB 修改器()

    -----------------------------------2016-5-26 15:56:57-- source:[1],MongoDB更新操作符

  6. MongoDB修改器的使用2

    1."$inc"的使用 主要用来增加数值,比如网站的访问量,点击量,流量等 db.games.insert({game:"pinball",user:" ...

  7. mongodb的修改器

    在mongodb中通常文档只会有一部分要更新,利用原子的更新修改器,可以做到只更新文档的一部分键值,而且更新极为高效,更新修改器是种特殊的键,用来指定复杂的更新操作,比如调整.增加.或者删除键,还可以 ...

  8. [转载]MongoDB的$inc修改器

    MongoDB的$inc修改器相当于编程语言中的 “+=”“$inc”只能用于操作数值类型的数据,包括整数.长整数和双精度浮点数,用于其他类型的数据会导致操作失败. >db.users.find ...

  9. MongoDB之修改器

    MongoDB之修改器 $set  简单粗暴  {name: valuel} 直接将key对应的值赋值给value. db.xxoo.insert({}, {set: {key: value}}) / ...

随机推荐

  1. linux系统启动时更改MAC地址

    vim /etc/rc.local #change the server's MAC address("00:50:56:84:5C:76" change to 00:50:56: ...

  2. VS2010 网页错误

    VS2010向导添加消息处理时,弹出以上错误,原因之一为: 类内没有定义IDD的宏

  3. 微信小程序免费SSL证书https、TLS版本问题的解决方案

    微信小程序与第三方服务器通讯的域名5个必要条件1.一个已备案的域名,不是localhost.也不是127.0.0.1,域名不能加端口2.加ssl证书,也就是https://~~~4.HTTPS 服务器 ...

  4. c# Invalidate() Update() Refresh()的区别

    Control.Invalidate方法:使控件的特定区域无效并向控件发送绘制消息. 通常情况下,用Invalidate()使区域无效就可触发该控件的重画了,但在一些条件下却没有触发重画.例如: pr ...

  5. Android中Handler 、Thread和Runnable之间的关系

    在多线程编程的时候,我们经常会用到Handler,Thread和Runnable这三个类,我们来看看这三个类之间是怎么样的关系? 首先说明Android的CPU分配的最小单元是线程,Handler一般 ...

  6. spark学习笔记总结-spark入门资料精化

    Spark学习笔记 Spark简介 spark 可以很容易和yarn结合,直接调用HDFS.Hbase上面的数据,和hadoop结合.配置很容易. spark发展迅猛,框架比hadoop更加灵活实用. ...

  7. Java中的一个类怎么调用另一个类中的方法

    如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(static)话,直接用类名可以调用到,如果是非静态的,就需要利用另一个类的实例(也就是用那个类生成的对象 ...

  8. XML dom

    将文件解析为文档 三步过程 为了使用 XML 文件中的信息,必须解析文件以创建一个 Document 对象. Document 对象是一个接口,因而不能直接将它实例化:一般情况下,应用程序会相应使用一 ...

  9. linux下显示dd命令的进度:

    linux下显示dd命令的进度: dd if=/dev/zero of=/tmp/zero.img bs=10M count=100000 想要查看上面的dd命令的执行进度,可以使用下面几种方法: 比 ...

  10. 蛙蛙推荐:WEB安全入门

    信息安全基础 信息安全目标 真实性:对信息的来源进行判断,能对伪造来源的信息予以鉴别, 就是身份认证. 保密性:保证机密信息不被窃听,盗取,或窃听者不能了解信息的真实含义. 完整性:保证数据的一致性, ...