Este código funcionó durante un tiempo y no sé qué hice, pero me da este error. Vi que algunos muchachos dijeron que actualizaron el Nodo, pero no funciona para mí. El mío es el último.
Este es un mensaje de error
mongodb connection failed TypeError:[objectOptions,urlOptions,exports.DEFAULT_OPTIONS].flatMap is not a function at parseOptions(/root/app/node_modules/mongodb/lib/connection_string.js:258:77) at new MongoClient (/root/app/node_modules/mongodb/lib/mongo_client.js:62:63) at Promise (/root/app/node_modules/mongoose/lib/connection.js:784:16) at new Promise (<anonymous>) at NativeConnection.Connection.openUri (/root/app/node_modules/mongoose/lib/connection.js:781:19) at _mongoose._promiseOrCallback.cb (/root/app/node_modules/mongoose/lib/index.js:342:10) at Promise (/root/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:32:5) at new Promise (<anonymous>) at promiseOrCallback (/root/app/node_modules/mongoose/lib/helpers/promiseOrCallback.js:31:10)en Mongoose._promiseOrCallback (/root/app/node_modules/mongoose/lib/index.js:1181:10)
y este es mi código de conexión // conexión mongoDB
const connect = () => { if(process.env.NODE_ENV !== 'production'){ mongoose.set('debug', true); } mongoose.connect('mongodb+srv://<name>:<pw>@cluster0.ukhax.mongodb.net/Users?retryWrites=true&w=majority',(error) => { if(error){console.log("mongodb connection failed"); console.log(error);} else{console.log("User mongodb connected");} }); }; connect();Tenía el mismo error. Funcionó para mí después de degradar la mangosta a "mangosta": "^ 6.2.8". Gracias
Mangosta de vez en cuando agrega cambios de última hora. mongoos.connect se ha convertido en un método asíncrono que devuelve una promesa, por lo que debe cambiar su código de devolución de llamada a promesa:
const connect = () => { if(process.env.NODE_ENV !== 'production'){ mongoose.set('debug', true); } mongoose.connect('mongodb+srv://<name>:<pw>@cluster0.ukhax.mongodb.net/Users?retryWrites=true&w=majority') .then(() => { console.log("User mongodb connected"); connect() }) .catch(e => console.log(e))