Borrar index de Mongo

Puede que si estamos trabajando en mongoose hayamos tenido este problema alguna vez.

Un valor que queríamos que fuese único deje de serlo por cualquier motivo, para esto, lo que podemos hacer en el entorno de desarrollo es básicamente borrar la base de datos y reconstruirla PERO…. ¿Cómo eliminamos un campo index en Mongo en producción? 😱

Bien…
Lo primero que tenemos que hacer es en nuestro archivo del modelo quitarle la propiedad `unique`.

Si teníamos algo parecido a:

@prop({ required: true, index: { unique: true } })
nombre_campo: string

Podemos dejarlo en:

@prop({ required: false, index: false, unique: false })
nombre_campo: string

Luego en la consola de mongo ejecutar (siendo projects nuestra «tabla» documento):

db.projects.dropIndex('nombre_campo_1');

Si no queremos acceder por consola y usamos MongoDB Compass que va fino fino.
Vamos a nuestra base de datos, buscamos la colección y vamos a el tab de «Indexes». Ahí podemos seleccionar el que queremos borrar y le damos a la papelera.

Hecho


Tu opinión es importante para mi, ¿Te ha resultado útil este artículo?

Deja una respuesta

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

*