Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد

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

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

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

پارامتر دوم یک شیء است که مقادیر جدید سند را تعریف می‌کند.

مثال
تغییر آدرس از “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.")

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید
Python - حذف داده (MongoDB Delete)

Python – حذف داده (MongoDB Delete)

حذف یک سند برای حذف یک سند، از متد delete_one() استفاده می‌کنیم. اولین پارامتر متد delete_one() یک شیء query...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.