MongoDB python | Delete Data and Drop Collection
Prerequisite : MongoDB Basics, Insert and Update
Aim : To delete entries/documents of a collection in a database. Assume name of collection ‘my_collection’.
Method used : delete_one() or delete_many()
- Remove All Documents That Match a Condition : The following operation removes all documents that match the specified condition.
result = my_collection.delete_many({"name": "Mr.Geek"}) - To see the number of documents deleted :
print(result.deleted_count)
- Remove All Documents :
Method 1 : Remove all documents using delete_many()result= my_collection.delete_many({})Method 2 : Delete all documents using collection.remove()
result = my_collection.remove()
Best method to remove is to drop the collection so that data indexes are also removed and then create a new collection in that insert data.
- To Drop a Collection :
db.my_collection.drop()
We first insert a document in the collection then deleted the documents as per query.
# Python program to illustrate # delete, drop and removefrom pymongo import MongoClient try: conn = MongoClient() print("Connected successfully!!!")except: print("Could not connect to MongoDB") # databasedb = conn.database # Created or Switched to collection names: my_gfg_collectioncollection = db.my_gfg_collection emp_rec1 = { "name":"Mr.Geek", "eid":24, "location":"delhi" }emp_rec2 = { "name":"Mr.Shaurya", "eid":14, "location":"delhi" }emp_rec3 = { "name":"Mr.Coder", "eid":14, "location":"gurugram" } # Insert Datarec_id1 = collection.insert_one(emp_rec1)rec_id2 = collection.insert_one(emp_rec2)rec_id3 = collection.insert_one(emp_rec3)print("Data inserted with record ids",rec_id1," ",rec_id2,rec_id3) # Printing the document before deletioncursor = collection.find()for record in cursor: print(record) # Delete Document with name : Mr Coderresult = collection.delete_one({"name":"Mr.Coder"}) # If query would have been delete all entries with eid:14# use this# result = collection.delete_many("eid":14}) cursor = collection.find()for record in cursor:print(record) |
OUTPUT (comment line denoted by #)
Connected successfully!!!
Data inserted with record ids
#Data INSERT
{'_id': ObjectId('5a02227c37b8552becf5ed2b'), 'name':
'Mr.GfG', 'eid': 45, 'location': 'noida'}
{'_id': ObjectId('5a0c734937b8551c1cd03349'), 'name':
'Mr.Shaurya', 'eid': 14, 'location': 'delhi'}
{'_id': ObjectId('5a0c734937b8551c1cd0334a'), 'name':
'Mr.Coder', 'eid': 14, 'location': 'gurugram'}
#Mr.Coder is deleted
{'_id': ObjectId('5a02227c37b8552becf5ed2b'), 'name':
'Mr.GfG', 'eid': 45, 'location': 'noida'}
{'_id': ObjectId('5a0c734937b8551c1cd03349'), 'name':
'Mr.Shaurya', 'eid': 14, 'location': 'delhi'}



Please Login to comment...