Mongoose连接在mongo服务器未运行时打印出两个console.log



我有一个到mongodb服务器的mongoose连接。当服务器正在运行并尝试连接时,它可以正常工作,并且只将单个语句打印到控制台。但是,当我还没有打开mongo服务器时,它会按照代码中的顺序打印这两个语句。我知道这不是一个大错误,但我不希望在服务器实际关闭时,健康检查显示为"启动"。

Mongoose连接代码:

mongoose.connect(config.db, {autoReconnect: true}, () => console.log('MongoDB has connected successfully.'));
mongoose.connection.on('error', function() {
console.error('MongoDB Connection Error. Make sure MongoDB is running.');
});

connect回调接收一个可以检查的error参数:

mongoose.connect(config.db, {autoReconnect: true}, (err) => {
if (!err) console.log('MongoDB has connected successfully.');
});

您也可以像处理"错误"事件一样单独处理"连接"事件:

mongoose.connection.on('connect', function() {
console.error('MongoDB has connected successfully');
});

最新更新