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/