با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش پایتون ، را دنبال می کنند. در قسمت قبلی به متغیر ها در پایتون پرداختیم ،در این جلسه قصد داریم به آموزش حذف اطلاعات در MongoDB در پایتون و حذف Collection در MongoDB بپردازیم.
برای حذف یک Document از تابع ()delete_one استفاده می کنیم.
اولین پارامتر این تابع یک شی کوئری برای مشخص کردن این که کدام Document حذف شود، است.
نکته: اگر کوئری بیشتر از یک document را پیدا کند، تنها اولین document پیدا شده را حذف می کند.
در مثال زیر document دارای فیلد address با مقدار “Moountain 21” را حدف می کنیم:
1 2 3 4 5 6 7 8 9 | import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": "Mountain 21" } mycol.delete_one(myquery) |
خروجی: ( document چهارم حذف شده است )
C:\Users\My Name>python demo_mongodb_delete_one.py {‘_id’: 1, ‘name’: ‘John’, ‘address’: ‘Highway37’} {‘_id’: 2, ‘name’: ‘Peter’, ‘address’: ‘Lowstreet 27’} {‘_id’: 3, ‘name’: ‘Amy’, ‘address’: ‘Apple st 652’} {‘_id’: 5, ‘name’: ‘Michael’, ‘address’: ‘Valley 345’} {‘_id’: 6, ‘name’: ‘Sandy’, ‘address’: ‘Ocean blvd 2’} {‘_id’: 7, ‘name’: ‘Betty’, ‘address’: ‘Green Grass 1’} {‘_id’: 8, ‘name’: ‘Richard’, ‘address’: ‘Sky st 331’} {‘_id’: 9, ‘name’: ‘Susan’, ‘address’: ‘One way 98’} {‘_id’: 10, ‘name’: ‘Vicky’, ‘address’: ‘Yellow Garden 2’} {‘_id’: 11, ‘name’: ‘Ben’, ‘address’: ‘Park Lane 38’} {‘_id’: 12, ‘name’: ‘William’, ‘address’: ‘Central st 954’} {‘_id’: 13, ‘name’: ‘Chuck’, ‘address’: ‘Main Road 989’} {‘_id’: 14, ‘name’: ‘Viola’, ‘address’: ‘Sideway 1633’} |
برای حذف بیش از یک document از تابع ()delete_many استفاده می کنیم.
اولین پارامتر این تابع یک شی کوئری برای مشخص کردن این که کدام Document ها حذف شود، است.
در مثال زیر تمام document هایی که مقدار فیلد address آن ها با “S” شروع می شوند را پاک می کند:
1 2 3 4 5 6 7 8 9 10 11 | 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.") |
خروجی:
C:\Users\My Name>python demo_mongodb_delete_many.py ۲ documents deleted. |
برای حذف تمام document های یک collection تنها کافیست تا یک شی خالی به تابع ()delete_many ارسال کنید.
در مثال زیر تمام document های کالکشن customers را حدف می کنیم:
1 2 3 4 5 6 7 8 9 | import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.delete_many({}) print(x.deleted_count, " documents deleted.") |
خروجی:
C:\Users\My Name>python demo_mongodb_delete_all.py ۱۱ documents deleted. |
با استفاده از متد ()drop می توانیم یک کالکشن را حدف کنیم.
در مثال زیر کالکشن customers را حذف می کنیم:
1 2 3 4 5 6 7 | import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] mycol.drop() |
این متد اگر کالکشن با موفقیت حذف شود، true بر می گرداند و اگر کالکشن وجود نداشته باشد، false بر می گرداند.
جلسه حذف اطلاعات در MongoDB در پایتون و حذف Collection در MongoDB نیز به پایان رسید.
در جلسه بعد به آموزش بروزرسانی اطلاعات در MongoDB خواهیم پرداخت. با ما همراه باشید.