MongoDB 的更新操作
阿新 • • 發佈:2018-12-24
# 資料更新操作 (update 和 save) # update |- 語法如下:db.集合.update(更新條件, 新的物件資料(更新操作符), upsert, multi) |- upsert 如果要更新的資料不存在,則增加一條新的內容(true 增加, false 不增加) |- multi 表示是否只更新滿足條件的第一行記錄。如果設定為false,只更新第一個;如果為true,全部更新 # 範例:把年齡為30歲的成績都更新為100 |- 更新存在的資料 |- 只更新一條 db.student.update( {"age" : 30}, {"$set" : {"score" : 100}}, false, false ) # 查詢記錄 db.student.find( {"age" : 30} ).skip(0).limit(10).sort( {"natural" : 1} ).pretty() |- 更新全部記錄 db.student.update( {"age" : 30}, {"$set" : {"score" : 100}}, false, true ) |- 更新不存在的資料 # 相當於文件的建立 db.student.update( {"name" : "不存在"}, {"$set" : {"name" : "確實不存在"}}, true, false ) # save db.student.save( {"_id" : ObjectId("58b2455524dd9e3990acee12"), "age" : 50} ) db.student.save( {"_id" : ObjectId("58b2455524dd9e3990acee12"), "score" : 80} ) # 當前id不存在 db.student.save( {"_id" : ObjectId("58b2455524dd9f3990acee12"), "change" : 80} ) # 由於此時對應的id欄位存在,所以就變為了更新操作,但是如果要儲存的資料不存在, # 那麼就變為增加操作 # 由於save更新的時候要找到id欄位,相比較來說建議使用update操作