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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM