MongoDB Eliminar todos los índices de la base de datos

MongoDB Eliminar todos los índices de la base de datos

En esta publicación, exploraremos cómo usar el método DropIndexes () en la carcasa MongoDB para eliminar un índice de una colección dada. También construiremos un script simple para eliminar todos los índices de una colección determinada.

Vamos a sumergirnos.

MongoDB DB.Recopilación.Dropindexes ()

Para soltar un índice específico de una colección, usamos el método dropindexes () y pasamos el índice de destino que desea eliminar de la colección.

Puede especificar el nombre del índice si es un índice de texto o el documento de especificación de índice de lo contrario.

Ejemplo 1: Deje caer un índice por su nombre

En la siguiente consulta de ejemplo, podemos usar el método dropindexes () para soltar un índice bajo el nombre, "tipo".

ENT> DB.netflix.dropindexes ("tipo")

El comando dado elimina el índice con el nombre, "tipo". La caída de un índice por nombre es compatible para tipos de índice de texto.

La consulta devuelve una salida de la siguiente manera:

nindexeswas: 4, ok: 1

Ejemplo 2: suelte múltiples índices por nombre

También podemos eliminar múltiples índices usando sus nombres como se muestra en la siguiente consulta de ejemplo:

db.netflix.dropindexes ("año", "calificación")

En este caso, el comando debe eliminar los índices de "año" y "calificación" de la colección.

Producción:

nindexeswas: 3, ok: 1

Ejemplo 3: Deje caer todos los índices excepto el índice _id

La siguiente consulta de ejemplo muestra cómo usar el método dropindexes () para soltar todos los índices de una colección determinada excepto el índice _id.

db.netflix.dropindexes ()

El comando debe eliminar todos los índices no _id de la colección como se muestra en la siguiente salida:


Nindexeswas: 4,
MSG: 'Indexos no_id caídos para la recolección',
OK: 1

Ejemplo 4: Deje caer todos los índices de una base de datos dada

Si deseamos eliminar todos los índices de una base de datos dada, podemos usar un script simple como se muestra en el siguiente ejemplo:

db.getCollectionNames ().foreach (function (collectionName)
... db.runCommand (dropIndexes: CollectionName, index: "*");
…);

El comando anterior utiliza la función foreach para iterar sobre cada colección en la base de datos. Luego pasa cada colección al comando dropindexes y al índice de destino como carácter comodín.

Esto debería permitirle eliminar todos los índices no _id de la base de datos en un paso simple.

Conclusión

En esta publicación, discutimos cómo usar el método DropIndexes en el shell MongoDB para eliminar uno o múltiples índices de una colección.