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 remove from pymongo import MongoClient try : conn = MongoClient() print ( "Connected successfully!!!" ) except : print ( "Could not connect to MongoDB" ) # database db = conn.database # Created or Switched to collection names: my_gfg_collection collection = 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 Data rec_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 deletion cursor = collection.find() for record in cursor: print (record) # Delete Document with name : Mr Coder result = 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'}
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.