1.更新集合中的文檔,語法如下:
db.collection.update(criteria,objNew,upsert,multi)
參數說明:
criteria:用於設置查詢條件的對象
objNew:用於設置更新內容的對象
upsert:如果記錄已經存在,更新它,否則新增一個記錄,取值為0或1
multi:如果有多個符合條件的記錄,是否全部更新,取值為0或1
注意:默認情況下,只會更新第一個符合條件的記錄 一般情況下後兩個參數分別為0,1 ,即: db.collection.update(criteria,objNew,0,1)
2.更新集合中的文檔,將集合中name為user1的文檔改成name為jack
這種修改有兩個問題,就是會使用新文檔覆蓋原來的文檔,如果原來文檔有多個鍵,修改後就有可能被覆蓋只剩下一個鍵了 第二個問題為即使符合更新條件的文檔有多個也只會更新第一個符合條件的記錄
3.更新集合中的文檔,使用 $inc 將集合中name為user1的age加1,其它鍵不變, $inc表示使某個鍵值加減指定的數值
4.更新集合中的文檔, $set 用來指定一個鍵的值,如果這個鍵不存在,則創建它。
例如:
給name為user1的文檔添加address,可以使用命令:
db.c1.update({name:”user1”},{$set:{address:”bj”}},0,1)
將name為user1的文檔修改address為tj,其它鍵值對不變,命令為:
db.c1.update({name:”user1”},{$set:{address:”tj”}},0,1)
5.更新集合中的文檔, $unset 用來刪除某個鍵
例如刪除name為user1的文檔中的address鍵,可以使用命令: db.c1.update({name:”user1”},{$unset:{address:1}},0,1)