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})