Mongoose连接错误报告

时间:2014-06-30 15:28:06

标签: node.js mongodb mongoose

如果mongoose无法连接或找到mongoDB,我会尝试抛出自己的错误。

最近我尝试的是:

mongoose.connect('mongodb://localhost/numaria');
db = mongoose.connection;

db.on('error', console.error.bind(console, 'THIS ERROR WONT SHOW'));

db.once('open', function(){
  console.log(clc.blackBright(new Date()) + ': ' + clc.cyan('Connected') + ' to ' + clc.yellow('MongoDB'));
});

我的期望:THIS ERROR WONT SHOW

我得到了什么:

throw er; // Unhandled 'error' event
Error: failed to connect to [localhost:27017]

引用了一个mongoose模块文件

<小时/> 我一直都是这样,我已经尝试了所有这些,但无济于事:

这是猫鼬入口:

我还试过围绕try{}catch(err){})

最后,如果我启动数据库,一切正常。

<小时/> 的修改

@glortho解释&#34;如果MongoDB根本没有运行,那么你甚至无法进入连接错误层,因为你已经绑定了它。&#34;

有没有办法在没有找到MongoDB的情况下更好地抛出错误?

1 个答案:

答案 0 :(得分:0)

您先连接。试试这个:

db = mongoose.connection;

db.on('error', console.error.bind(console, 'THIS ERROR WONT SHOW'));

db.once('open', function(){
  console.log(clc.blackBright(new Date()) + ': ' + clc.cyan('Connected') + ' to ' + clc.yellow('MongoDB'));
});

try {
  mongoose.connect('mongodb://localhost/numaria');
} catch(err) {
  console.error(err);
}