2017年12月15日 星期五

MongoDB 筆記 (三) : update / replace

要改野, 最直接就更係諗到 update 喇, 不過 update 同 insert 一樣, 都有幾款, 另外仲有個 replaceOne.


  • db.collection.update()
  • db.collection.updateOne()
  • db.collection.updateMany()
  • db.collection.replaceOne()

db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>,
     collation: <document>
   }
)
update 真係要好小心, 就咁睇好簡單, 比個 query 佢 update 就得.
比如話, 要將 Super169 既身高改為 167, 好直接會咁寫吧:

db.user.update({id:"Super169"},{height:167})
咁你就出事了.....之後 Super169 既 document 就咁無左, 得番 一份 {heigth:167} 既 document.
因為佢既 update, by default 係去 replace 成張 document.

要做到想要既 update, 就要加多個 $set 既 operator:

db.user.update({id:"Super169"},{$set: {height:167}})
真係幾危險架, 因為一張 document, 入面可以裝住成大抽野, 一下就無左, 真係唔知點算.

沒有留言:

張貼留言