Este es el error que sigue apareciendo al guardar, incluso después de agregar la promesa nativa.
(nodo: 5604) DeprecationWarning: Mongoose: mpromise (la biblioteca de promesas predeterminada de mongoose) está en desuso, conecte su propia biblioteca de promesas en su lugar: http://mongoosejs.com/docs/promises.html
mongoose.Promise = global.Promise; mongoose.connect('mongodb://127.0.0.1/optimusCP') .then(function () { console.log('Connected to MONGOD !!'); }).catch(function (err) { console.log('Failed to establish connection with MONGOD !!'); console.log(err.message); });He probado tanto bluebird como q, todavía no he encontrado una solución para esto. A continuación se muestra el código cuando guardo esto, aparece la siguiente advertencia de obsolescencia.
var user = new User(); user.email = req.body.email; user.password = hash; user.save() .then(function (user) { console.log(user); }) .catch(function (err) { console.log(err); });Este error ocurre en la nueva versión de mongoose, que es 4.8.1, pero funciona bien en la versión 4.7.6 de mongoose.
A pesar de usar mongoose.Promise = global.Promise; antes de mongoose.connect(...) , tuve la misma advertencia.
Descubrí que inicialicé la conexión mongoose en un archivo:
import mongoose from 'mongoose'; ... // Connect to MongoDB mongoose.Promise = global.Promise; mongoose.connect(mongoUri, mongoOptions); mongoose.connection.on('error', (err) => { console.error(`MongoDB connection error: ${err}`); process.exit(1); }); Pero también importé mongoose en otro archivo (donde se describía el esquema de mangosta), así que agregué mongoose.Promise = global.Promise; en el segundo archivo también, como resultado de ello, la advertencia desapareció.
import mongoose, { Schema } from 'mongoose'; mongoose.Promise = global.Promise; const UserSchema = new Schema({ ... });Puede ser que tengas el mismo caso.
Actualizar Mongoose de 4.8.1 a 4.9.1 resolvió mi problema.
He tenido éxito en deshacerme del mensaje con esto
mongoose.Promise = Promise;