mongodb的update总结

2012-10-23 08:58 来源:www.chinab4c.com 作者:ecshop专家

    mongodb的update总结,我们这里主要是总结一下有关mongodb的修改update操作,这个也是我们长期开发和使用mongodb的一大操作。

   1:让某个字段自增

    db.c.update({id:1},{$inc:{id:1}})

   2:为某个表增加字段 age

   db.c.update({id:3},{$set:{age:2}})

   3:删除某行的某列

    db.c.update({id:2},{$unset:{age:1}})

   4:删除某个行

    db.c.remove({id:2})

  5:修改某个行,只修改一行

    db.c.update({id:2},{$set:{name:3333}},true,false)

 

  6:修改某个行,全部

db.c.update({id:2},{$set:{name:3333}},true,true)

   7:存储数组

     db.d.save({id:1,info:[1,2,3]})

   8:修改增加数组数据

   db.d.update({id:1},{$push:{info:5}})

  9:修改时候的判断。

   db.d.update({id:1,name:2},{$set:{name:22}},false,true)

   false表示存在不插入,不存在就插入。

  true表示修改多行的意思。

  10:mongodb删除某列,使用$unset命令

     db.d.update({},{$unset:{name:1}},true,true)

  11:mongodb修改多个字段 update test0 set test1='test1',test2='test2'

    db.test0.update( { "_id" : 15 } , { $set : { "test1" : "testv1","test2" : "testv2","test3" : "testv3","test4" : "testv4" } } );

  12:mongodb保存数组,而且向数组中推送数据

    db.be.save({id:1,name:[1,2,3]})

    db.be.update({id:1},{$push:{name:5}})

  13:向mongodb中插入多个数组数据

db.a.update({id:1},{$pushall:{info:[7,8,9]}})

  14:一次向mongodb中插入多个数组

  db.a.update({id:1},{$addToSet:{info:['1','2']}})

  15:将一个mongodb数据数组出栈

  db.a.update({id:1},{$pop:{info:-1}})

   db.a.update({id:1},{$pop:{info:1}})

    注意,只能删除一个值,也就是说只能用1或-1,而不能用2或-2来删除两条。mongodb 1.1及以后的版本才可以

   16:从数组field内删除一个等于value值。例:

   db.a.update({id:1},{$pull:{info:2}})

   17:删除数组中多个值{ $pullAll : { field : value_array } }

同$pull,可以一次删除数组内的多个值。db.test0.update( { "_id" : 15 } , { $pullAll : { "test1": [ "ccc" , "fff" ] } } );