Posteriormente a consultar expertos en el tema, programadores de deferentes ramas y profesores hemos dado con la respuesta a la interrogande y la compartimos en este post.
Solución:
Este es un código heredado de ejemplos anteriores que no se necesita con Mongoose 5.
Mongoose 4 se basó en la implementación de su propia promesa, mpromise
. mongoose.Promise
no era necesariamente Promise
global.
Como dice la documentación de Mongoose 4:
Mongoose 5.0 usará promesas nativas de forma predeterminada (o bluebird, si las promesas nativas no están presentes), pero aún admitirá la conexión de su propia biblioteca de promesas compatible con ES6. Mongoose 5.0 no admitirá mpromise.
Aunque la declaración sobre Bluebird ya no es true; Mongoose 5 eliminó el soporte de las versiones de Node que no tienen promesas nativas.
mongoose.Promise = global.Promise;
todavía puede ser necesario si global.Promise
fue asignado con otra implementación (por ejemplo, Bluebird) después de importar Mongoose, aunque sería mejor asignar global.Promise = Bluebird
antes en su lugar.
Mantenedor de mangosta aquí. Si está utilizando Mongoose 5, elimine mongoose.Promise = global.Promise;
. Esa línea se usó para abordar la siguiente advertencia de desaprobación con promesas en Mongoose 4:
WARNING: Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead
No hace nada en Mongoose 5. Solo debes usar mongoose.Promise
en Mongoose 5 si desea utilizar su propia biblioteca prometedora con Mongoose, como Bluebird o Q.
También hay un poco más sobre mongoose.Promise
aquí: https://masteringjs.io/tutorials/mongoose/promise#the-mongoosepromise-property
Si queremos usar mongoose en una posición diferente dentro de los códigos, debe verse como modo global, es por eso que debemos configurar mongoose como:
mongoose.Promise = global.Promise;
Aquí puedes ver las comentarios y valoraciones de los lectores
Recuerda que puedes dar visibilidad a esta reseña si lograste el éxito.