Python de MongoDB | Eliminar datos y descartar colección

Requisito previo: Fundamentos de MongoDB , Insertar y Actualizar

Objetivo : Eliminar entradas/documentos de una colección en una base de datos. Asume el nombre de la colección ‘mi_colección’.
Método utilizado: delete_one() o delete_many()

  • Eliminar todos los documentos que coincidan con una condición: la siguiente operación elimina todos los documentos que coincidan con la condición especificada.
     result = my_collection.delete_many({"name": "Mr.Geek"})
  • Para ver el número de documentos eliminados:
     print(result.deleted_count)
  • Quitar todos los documentos:
    método 1: quitar todos los documentos usando delete_many()
     result= my_collection.delete_many({})

    Método 2: elimine todos los documentos usando collection.remove()

     result = my_collection.remove() 

    El mejor método para eliminar es descartar la colección para que los índices de datos también se eliminen y luego crear una nueva colección en esa inserción de datos.

  • Para soltar una colección:
    db.my_collection.drop()

Primero insertamos un documento en la colección y luego eliminamos los documentos según la consulta.

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

Publicación traducida automáticamente

Artículo escrito por shaurya uppal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *