mongo 基本操作(2)(可参考http://blog.sina.com.cn/s/blog_12e46e1e10102uymf.html)

1. 修改器(适用于修改文档中内容)
原始数据:
mongo <wbr>基本操作(2)

(1)增加/减少计数(没有时,会自动增加键)
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)
ps:增加计数$inc只能用于文档类型为数值型的

(2)修改值或增加键
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)
这里他将book中的book1和book2删掉了,替换成了book3,它不会增加book3

那如果想要在book里面增加一个book4,应该怎么做呢
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)

举个增加的例子:
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)

(3)删除键
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)

(4)数组修改
 增加一个键:
mongo <wbr>基本操作(2)
 结果:
mongo <wbr>基本操作(2)

增加一个内容:
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)
这里,mongo不会进行替换,而是往里面增加

如果在插入之前需要检查是否有该内容,然后再进行增加,可以用下面的方法:
mongo <wbr>基本操作(2)
结果:
mongo <wbr>基本操作(2)

也可以使用$addToSet来进行操作,例如:
mongo <wbr>基本操作(2)

通过使用$addToSet和$each,能够一次添加多个值,例如
mongo <wbr>基本操作(2)

 给数组中的某个值(位置)进行值的修改
mongo <wbr>基本操作(2)
 
  也可以不指定位置,匹配某个具体的值,例如:
  mongo <wbr>基本操作(2)

(5)数据删除
 指定删除开始或结尾的1个值,使用$pop关键字,其中正数代表从结尾删除,负数代表从开始删除,例如:
 mongo <wbr>基本操作(2)
 指定某个值进行删除,使用$pull关键字,例如:
mongo <wbr>基本操作(2)
ps:$pull关键字会把所有比配的结果都删掉

(6)没有就插入,有就更新:upsert
 update函数中的第三个参数,如果置为true,则如果没有这会插入的功能
 功能示例:
 mongo <wbr>基本操作(2)
  (7)有_id就upsert,没_id就插入:save
 mongo <wbr>基本操作(2)
 结果:
mongo <wbr>基本操作(2)
(8)批量修改:update的第四个参数为true

posted @ 2014-07-19 16:14  jiang_jiang  阅读(151)  评论(0)    收藏  举报