Python MongoDB – consulta drop_index

La función de biblioteca drop_index() en PyMongo se usa para eliminar el índice de una colección en la base de datos, como sugiere el nombre. En este artículo, discutiremos cómo eliminar un índice de una colección utilizando nuestra aplicación python con PyMongo.

Sintaxis: 

drop_index(index_or_name, session=None, **kwargs) 

Parámetros:

  • index_or_name : el nombre del índice generado al llamar al método create_index() o sure_index() en una colección. Si se creó un nombre de índice personalizado a través del parámetro de nombre , entonces el nombre personalizado debe pasarse aquí.
  • session: este es un argumento opcional que especifica ClientSession (de la clase pymongo.client_session).
  • kwargs: estos son argumentos de palabras clave adicionales (opcional).

¿Qué son los índices?

Los índices son una estructura de datos especial utilizada en MongoDB para aumentar la eficiencia de la ejecución de consultas. Se definen a nivel de colección y permiten a MongoDB limitar el número de documentos que busca. Las estructuras de datos de árbol B se utilizan para la indexación en MongoDB. Hay varios tipos de índices, como índices de un solo campo, índices compuestos, índices de varias claves. En aras de la comprensión, en este artículo utilizaremos índices de un solo campo. En un servidor Mongo alojado localmente, creemos una prueba de base de datos con una colección de estudiantes

La base de datos contendrá la siguiente información sobre los estudiantes de la siguiente manera: 

 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:

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

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

Python3

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

Salida: Como podemos ver, el nombre generado automáticamente es newIndex_1. Ejemplo 2: Eliminación del índice de la colección 

Python3

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

Salida: la salida muestra que el índice recién insertado llamado newIndex se eliminó y solo quedó el índice _id original. Esta es la aplicación de drop_index().

Lanza el error OperationFailure cuando intenta eliminar un índice que no existe.

Publicación traducida automáticamente

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