You are currently viewing MongoDB python | Delete Data (удаление данных) и Drop Collection (удаление коллекции)

MongoDB python | Delete Data (удаление данных) и Drop Collection (удаление коллекции)

Предпосылка : Основы MongoDBВставить и обновить

Цель : Для удаления записей/документов коллекции в базе данных. Предположим, что имя коллекции «my_collection».

Используемый способ : delete_one() или delete_many()

  • Удалите все документы, Соответствующие по какому либо условию : Следующая операция удаляет все документы, соответствующие указанному условию.
 result = my_collection.delete_many({"name": "Mr.Geek"})
  • Чтобы увидеть количество удаленных документов :
print(result.deleted_count)
  • Удалите все документы :
result = my_collection.delete_many({})

Способ 2: 

Удалите все документы с помощью collection.remove()

 result = my_collection.remove() 

Лучший способ удаления-удалить коллекцию, чтобы индексы данных также были удалены, а затем создать новую коллекцию в этой вставке данных.

  • Чтобы удалить коллекцию :
db.my_collection.drop()

Сначала мы вставляем документ в коллекцию, а затем удаляем документы в соответствии с запросом.

# 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'}