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