Python MongoDB 更新

更新集合

您可以使用 update_one() 方法來更新 MongoDB 中調用的記錄或文檔。

update_one() 方法的第一個參數是 query 對象,用于定義要更新的文檔。

注釋:如果查詢找到多個記錄,則僅更新第一個匹配項。

第二個參數是定義文檔新值的對象。

實例

把地址 "Valley 345" 改為 "Canyon 123":

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": "Valley 345" }
newvalues = { "$set": { "address": "Canyon 123" } }
mycol.update_one(myquery, newvalues)
#print "customers" after the update:
for x in mycol.find():
  print(x)

運行實例

更新多個

如需更新符合查詢條件的所有文檔,請使用 update_many() 方法。

實例

更新地址以字母 "S" 開頭的所有文檔:

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
myquery = { "address": { "$regex": "^S" } }
newvalues = { "$set": { "name": "Minnie" } }
x = mycol.update_many(myquery, newvalues)
print(x.modified_count, "documents updated.")

運行實例