¿Cómo eliminar todos los índices en una colección usando PyMongo?

Requisitos previos: MongoDB y Python

Con la ayuda del método drop_indexes() podemos eliminar todos los índices de una colección. No se pasa ningún parámetro en el método. Solo el índice predeterminado _id no se puede eliminar. Todos los índices Non _id serán eliminados por este método. Significa que solo podemos eliminar el índice que hemos creado.

Sintaxis:

db.collection_name.drop_indexes()

Ejemplo de base de datos utilizada:

python-mongodb-sample-database5

De forma predeterminada, cada colección tiene el índice _id. Todas las colecciones tienen obligatoriamente al menos un índice. Si se eliminan todos los índices, se generará automáticamente un nuevo índice. Podemos ver los índices presentes ejecutando el siguiente comando:

python-mongodb-drop-all-indexes-1

Ahora, podemos ejecutar el siguiente código para agregar un nuevo índice llamado newIndex a la colección, dado que el servidor mongo se está ejecutando:

Ejemplo 1: agregar un índice a la colección

import pprint 
import pymongo 
    
# connection 
try: 
    client = pymongo.MongoClient() 
    db = client['GFG'] 
    print('connection to the server established') 
        
except Exception: 
    print('Failed to Connect to server') 
  
collection = db.lecture 
  
# creating an index 
resp = collection.create_index("l_id") 
    
# printing the auto generated name  
# returned by MongoDB 
print(resp) 
    
# index_information() is analogous  
# to getIndexes 
pprint.pprint(collection.index_information()) 

Producción:

python-mongodb-drop-all-indexes-2

Ejemplo 2: Eliminación del índice de la colección

import pprint 
import pymongo 
  
    
try: 
    client = pymongo.MongoClient() 
    db = client['GFG'] 
    print('connection to the server established') 
  
except Exception: 
    print('Failed to Connect to server') 
  
collection = db.lecture 
    
# dropping the index using autogenerated 
# name from MongoDB 
collection.drop_indexes() 
    
# printing the indexes present on the collection 
pprint.pprint(collection.index_information()) 

Producción:

python-mongodb-drop-all-indexes-3

Publicación traducida automáticamente

Artículo escrito por avengerjanus123 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 *