0、数据准备
for(var i=0;i<10000;i++){ var patid="pat"+i; var patname="name"+i; var sex="M"; var age=parseInt(100*Math.random(i)); db.patient.insert({"patid":patid,"patname":patname,"sex":sex,"age":age,address:{"city":"shanghai","street":"huaihai road"}}); }
1、默认为全局更新
db.patient.find({"patid":"pat100"}) db.patient.update({"patid":"pat100"},{"patid":"pat100","sex":"F"}) db.patient.find({"patid":"pat100"})
2、局部更新$set
db.patient.find({"patid":"pat101"}) db.patient.update({"patid":"pat101"},{$set:{"sex":"F"}}) db.patient.find({"patid":"pat101"})
3、局部更新$inc
db.patient.find({"patid":"pat102"}) db.patient.update({"patid":"pat102"},{$inc:{"age":-100}}) db.patient.find({"patid":"pat102"})
4、批量更新
db.patient.find({"age":10}) db.patient.update({"age":10},{$set:{"age":11}}) db.patient.find({"age":10}) db.patient.update({"age":10},{$set:{"age":11}},false,true) db.patient.find({"age":10})
5、更新时,没有匹配则插入
db.patient.find({"patid":"pidx001"}) db.patient.update({"patid":"pidx001"},{"patid":"pidx001","sex":"F"},true) db.patient.find({"patid":"pidx001"})