mongodb 修改語法
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
參數說明:
- query : update的查詢條件,類似sql update查詢內where後面的。
- update : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解爲sql update查詢內set後面的
- upsert : 可選,這個參數的意思是,如果不存在update的記錄,是否插入objNew,true爲插入,默認是false,不插入。
- multi : 可選,mongodb 默認是false,只更新找到的第一條記錄,如果這個參數爲true,就把按條件查出來多條記錄全部更新。
- writeConcern :可選,拋出異常的級別。
原數據
修改代碼如下:
db.admin.update({:'lisi'},{$set:{age:20}}) // 第一個參數表示查找到該條數據,第二個參數表示修改對應字段值
如果,不寫 $set ,則表示,該條數據將被修改爲第二個參數中設置的值:
db.admin.update({:'lisi'},{age:21})
修改後:
此時,修改的只是當前查詢條件下,查詢到的第一條數據。
如果,我們的查詢條件查詢到多條數據,我們想將所有查詢到的數據都進行同樣的修改,
比如,我想修改所有 name = 'zhangsan' 的 age = 21,
代碼如下:
db.user.update({'name':'zhangsan'},{$set:{'age': 21}},{multi:true})
執行完畢,我們來查看結果:
此時,查詢條件 name = 'zhangsan' 的所有數據的 age 都被修改爲 20