当mongo服务器未运行时,Mongoose连接打印出console.log

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当mongo服务器未运行时,Mongoose连接打印出console.log相关的知识,希望对你有一定的参考价值。

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

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.');
});

您也可以像处理'error'事件一样单独处理'connect'事件:

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

以上是关于当mongo服务器未运行时,Mongoose连接打印出console.log的主要内容,如果未能解决你的问题,请参考以下文章

将 mongoose 与预先存在的 mongo 集合连接

如何使用已存在的Mongo连接配置Mongoose

Sails mongo 重新连接

基本节点/mongo/mongoose 连接不起作用

NestJs / Mongoose 在 Docker 撰写时无法建立 MongoDB 数据库连接

无法使用带有 X509 用户的 mongoose 连接到 Mongo DB