Saltar al contenido

¡El índice único de Mongoose no funciona!

Solución:

¡UPS! Solo tienes que reiniciar mongo.

¡UPS! Solo tienes que reiniciar mongo.

Y vuelva a indexar también, con:

mongo <db-name>
> db.<collection-name>.reIndex()

En las pruebas, dado que no tengo datos importantes, también puede hacer:

mongo <db-name>
> db.dropDatabase()

Me encontré con el mismo problema: agregué la restricción única para el email campo a nuestro UserSchema después de haber agregado usuarios a la base de datos, y aún podía guardar usuarios con correos electrónicos engañados. Resolví esto haciendo lo siguiente:

1) Elimine todos los documentos de la colección de usuarios.

2) Desde el shell de mongo, ejecute el comando:
db.users.createIndex({email: 1}, {unique: true})

Con respecto al paso 1, tenga en cuenta que de los documentos de Mongo:

MongoDB no puede crear un índice único en los campos de índice especificados si la colección ya contiene datos que violarían la restricción única del índice.

https://docs.mongodb.com/manual/core/index-unique/

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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