Я только что заметил, что если вы используете опцию 'useUnifiedTopology: true', mon goose больше не выдаст ошибку, если что-то не так с соединением. Например:
mongoose.connect(DB, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true
}).then((con) => {
console.log("Connection successfully");
}).catch(err => console.log('Error'));
Если соединение установлено успешно, консоль запишет сообщение «Соединение успешно». Но если что-то не так (например, неверное имя пользователя или пароль), то ничего не произойдет.