mongodb 數據修改

update:語法格式以下:sql

db.collection.update( <query>, <update>, { upsert: <boolean>, multi: <boolean>, writeConcern: <document> } )

參數說明:mongodb

  • query : update的查詢條件,相似sql update查詢內where後面的。
  • update : update的對象和一些更新的操做符(如$,$inc...)等,也能夠理解爲sql update查詢內set後面的
  • upsert : 可選,這個參數的意思是,若是不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。
  • multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,若是這個參數爲true,就把按條件查出來多條記錄所有更新。
  • writeConcern :可選,拋出異常的級別。

eg:有一條數據爲 name = lisi,age = 12,如今,想修改這條數據的 age = 20spa

代碼以下:3d

db.admin.update({name:'lisi'},{$set:{age:20}}) // 第一個參數表示查找到該條數據,第二個參數表示修改對應字段值

 

若是,不寫 $set ,則表示,該條數據將被修改成第二個參數中設置的值:code

修改後:對象

能夠看到,咱們已經沒法經過 name = 'lisi',查找到該條數據,blog

這條數據被修改成it

此時,修改的只是當前查詢條件下,查詢到的第一條數據。io

 若是,咱們的查詢條件查詢到多條數據,咱們想將全部查詢到的數據都進行一樣的修改,class

好比,我想修改全部 name = 'zhangsan' 的 age = 21,

代碼以下:

db.user.update({'name':'zhangsan'},{$set:{'age': 21}},{multi:true})

 執行完畢,咱們來查看結果:

此時,查詢條件 name = 'zhangsan' 的全部數據的 age 都被修改成 20

相關文章
相關標籤/搜索