mongodb4更新第3个参数等注意点

1

修改mongo文档记录时,使用的赋值表达式

$set 修改某列的值

$unset 删除某个列 (赋值1)

$rename 重命名某个列

$inc 增长某个列

如:

1.1、新增一条记录db.student.insert({name:'zhangsan',rich:true,sex:'m',age:10})

1.2、修改该记录db.student.update({name:'zhangsan'},  {

                                                 $set:{name:'lisi'},

                                                 $unset:{rich:1}

                                                 $rename:{sex:'f'}

                                                 $inc{age:5}

                                       })

1.3、查询结果

db.student.find();

{"_id":Object("xxx"),"name":"lisi","age":15,"sex":"f"}

 

2.1、如果想修改集合中所有该属性的值,使用multi:true。否则不用,将只修改该集合中第一条记录文档的内容

如:

db.student.update({gender:'m'},{$set:{gender:'male'}},{multi:true})

这个情况下该集合student下所有gender属性的值都被替换成了male了

3.1、如果想修改集合中一个属性值,如果不存在则创建成想修改的值,如果存在则修改。可以用upsert:true

如:

db.student.update({name:'zhangsan'},  {$set:{name:'wangermazi'}},{upsert:true})

db.cc.update({'name':'gu'},{$set:{'age':212}},false,true)

db.cc.update({'name':'gu'},{$set:{'age':212}},{multi:true,upsert:true})

4.1、在3.1的基础上,如果有不存在的文档,而进行了插入的情况,有需求,对该文档在新增别的属性时,可以用

    $setOnInsert:{gender:'xx'}

如:

db.student.update({name:'zhangsan'},  {$set:{name:'wangermazi'},$setOnInsert:{gender:'male'}},{upsert:true})

posted @ 2017-11-23 22:25  克维拉  阅读(1470)  评论(0编辑  收藏  举报