我有以下NodeJS代码:
2.147483647 × 10^9
在使用var mongoose = require('mongoose');
mongoose.connect('mongodb://dev:dev@ds031632.mongolab.com:31632/mongodev');
运行它时,它会挂起几秒钟并抛出以下内容:
node server.js
我通过控制台通过以下方式ping服务器:
C:\Users\dev\work\code\local\nodejsplayground\restwithmongo\nod
dules\mongoose\node_modules\mongodb\lib\server.js:228
process.nextTick(function() { throw err; })
^
Error
at Object.<anonymous> (C:\Users\dev\work\code\local\nodejsp
round\restwithmongo\node_modules\mongoose\node_modules\mongodb\node_modules\mong
core\lib\error.js:42:24)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (C:\Users\dev\work\code\local\nodejsp
round\restwithmongo\node_modules\mongoose\node_modules\mongodb\node_modules\mong
core\index.js:2:17)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
我尝试使用Windows安装程序安装mongodb并且它仍然无法正常工作
答案 0 :(得分:1)
如果在没有调用错误回调的情况下连接到mongodb时出错,就会发生此错误。要修复此错误(并获取实际错误),请向.connect方法添加回调,或绑定到错误事件。
mongoose.connect(config.mongodb, function (err) {
if (err) {
console.log(err);
}
});
或
mongoose.connect(config.mongodb);
var db = mongoose.connection;
db.on('error', function (err) {
console.log('mongodb connection error: %s', err);
process.exit();
});
db.once('open', function () {
console.log('Successfully connected to mongodb');
app.emit('dbopen');
});
如果你发现没有任何反应并且它只是挂起,等待30秒左右就会超时,这只是意味着猫鼬无法连接到mongodb,这可能是由很多不同的事情造成的,主要与网络/ DNS /防火墙/服务器配置有关。