Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

MongoDB python | Delete Data and Drop Collection

  • Last Updated : 20 Mar, 2020

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()

 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. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

  • 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 :
  • 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 :

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
    conn = MongoClient()
    print("Connected successfully!!!")
    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 = {
emp_rec2 = {
emp_rec3 = {
# 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:
# 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:

OUTPUT (comment line denoted by #)

Connected successfully!!!
Data inserted with record ids     
{'_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'}

My Personal Notes arrow_drop_up
Recommended Articles
Page :