Este es mi código nodejs
const mongoose = require('mongoose'); function connectDB() { //Database connection mongoose.connect(process.env.MONGO_CONNECTION_URL, { useNewUrlParser: true, useCreateIndex: true, useUnifiedTopology: true, useFindAndModify: true }); const connection = mongoose.connection; connection.once('open', () => { console.log('Database connected.'); }).catch(err => { console.log('Connection failed.'); }) } module.exports = connectDB;Mostrando este error mientras intento conectarme con el servidor
}).catch(err => { ^ TypeError: connection.once(...).catch is not a function¿Devuelve una promesa?
db.once('open', function(err, resp){ console.log(resp); });O
mongoose.connection .once('open', function () { console.log('MongoDB running'); }) .on('error', function (err) { console.log(err); });Eso significa que la función once no devuelve un objeto de promesa en primer lugar.
Puede usar catch con mongoose.connect para manejar errores si hay alguno, verifique el ejemplo a continuación:
function connectDB() { //Database connection mongoose.connect( process.env.MONGO_CONNECTION_URL, { useNewUrlParser: true, useCreateIndex: true, useUnifiedTopology: true, useFindAndModify: true } ).catch(err => console.log(err.reason));; const connection = mongoose.connection; connection.once('open', () => { console.log('Database connected.'); })}