Python MongoDB Delete Document

حذف سند

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

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

دقت داشته باشید که اگر کوئری بیش از یک سند را پیدا کند، تنها اولین رخداد حذف خواهد شد.

در کد زیر سند با آدرس "Mountain 21" را حذف می‌کنیم.


import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Mountain 21" }

mycol.delete_one(myquery)


#print the customers collection after the deletion:
for x in mycol.find():
    print(x)

خروجی:

حذف چندین سند

برای حذف بیش از یک سند از تابع شیء delete_many() استفاده می‌کنیم.

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

در کد زیر همه آدرس‌هایی که با حرف S شروع می‌شوند را حذف می‌کنیم.


import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": {"$regex": "^S"} }

x = mycol.delete_many(myquery)

print(x.deleted_count, "documents deleted")

خروجی:

حذف همه اسناد در یک مجموعه

برای حذف همه اسناد یک مجموعه، از یک شیء کوئری خالی در تابع شیء delete_many() استفاده کنید.

در کد زیر همه اسناد موجود در مجموعه "customers" را حذف می‌کنیم.


import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

x = mycol.delete_many({})

print(x.deleted_count, "documents deleted")

خروجی: