Node.js Mongoose连接错误报告

Node.js Mongoose连接错误报告,node.js,mongodb,mongoose,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

如果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'));
});
我所期望的:
此错误不会显示

我得到的是:

throw er; // Unhandled 'error' event
Error: failed to connect to [localhost:27017]
引用mongoose模块文件
我已经尝试了所有这些,但都没有效果:

这是猫鼬的入口:

我也尝试过使用
try{}catch(err){}

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

@glortho解释说:“如果MongoDB根本没有运行,那么您甚至无法访问连接错误层,因为您已经绑定了它。”


有没有更好的方法在mongoose中抛出找不到MongoDB的错误?

您首先要连接。请尝试以下方法:

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

伟大的想法,但它仍然抛出未经处理的错误。另外,我在那里检查的第二个SO帖子首先连接了第一个,他们接受了:/Hmm。我编辑以包含
try
block。然后呢?还是没有雪茄。我还尝试了回调
mongoose.connect('mongodb://localhost/numaria,函数(err){console.log(err);})
但什么也没有得到。。。让我试着把它放到一个try块中。是的,我仍然什么也没有得到:(它一定是无法通过那个端口或其他什么连接,根本无法连接到MongoDB。