Python MongoDB Update

به روزرسانی مجموعه

می‌توانید یک رکورد، یا چنانکه در MongoDB گفته می‌شود، سند را با استفاده از تابع شیء update_one() به روزرسانی کنید.

اولین پارامتر تابع شیء update_one() یک شیء کوئری است که مشخص می‌کند کدام سند باید به روزرسانی شود.

اگر کوئری بیش از یک سند را پیدا کند، تنها اولین رخداد به روزرسانی می‌شود.

دومین پارامتر یک شیء است که مشخص می‌کند مقادیر جدید سند چه باشد.

در کد زیر آدرس "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() استفاده می‌کنیم.


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.")

خروجی: