how can i set a callback for the error handling if mongoose isn't able to connect to my DB?
i know of
connection.on('open', function () { ... });
but is there something like
connection.on('error', function (err) { ... });
?
how can i set a callback for the error handling if mongoose isn't able to connect to my DB?
i know of
connection.on('open', function () { ... });
but is there something like
connection.on('error', function (err) { ... });
?
As we can see on the mongoose documentation for Error Handling, since the connect() method returns a Promise, the promise catch is the option to use with a mongoose connection.
So, to handle initial connection errors, you should use .catch() or try/catch with async/await.
In this way, we have two options:
Using the .catch() method:
mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true })
.catch(error => console.error(error));
or using try/catch:
try {
await mongoose.connect('mongodb://localhost:27017/test', { useNewUrlParser: true });
} catch (error) {
console.error(error);
}
IMHO, I think that using catch is a cleaner way.
mongoose.connect(
"mongodb://..."
).catch((e) => {
console.log("error connecting to mongoose!");
});
mongoose.connection.on("error", (e) => {
console.log("mongo connect error!");
});
mongoose.connection.on("connected", () => {
console.log("connected to mongo");
});