2 行 NodeJS 应用程序在尝试连接到 mongolab MongoDB 数据库时在 mongoose.connect() 上崩溃
2-line NodeJS application crashes on mongoose.connect() while trying to connect to a mongolab MongoDB database
我有以下 NodeJS 代码:
var mongoose = require('mongoose');
mongoose.connect('mongodb://dev:dev@ds031632.mongolab.com:31632/mongodev');
在 运行 上 node server.js
,它挂断了几秒钟并抛出以下内容:
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)
我通过控制台通过这个 ping 服务器:
ping ds031632.mongolab.com
我尝试使用 windows 安装程序安装 mongodb,但它仍然无法正常工作
如果连接到 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秒左右就会超时,这只是意味着mongoose无法连接到mongodb,这可能是由一个非常大的数字引起的不同的东西,主要与 network/dns/firewall/server 配置有关。
我有以下 NodeJS 代码:
var mongoose = require('mongoose');
mongoose.connect('mongodb://dev:dev@ds031632.mongolab.com:31632/mongodev');
在 运行 上 node server.js
,它挂断了几秒钟并抛出以下内容:
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)
我通过控制台通过这个 ping 服务器:
ping ds031632.mongolab.com
我尝试使用 windows 安装程序安装 mongodb,但它仍然无法正常工作
如果连接到 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秒左右就会超时,这只是意味着mongoose无法连接到mongodb,这可能是由一个非常大的数字引起的不同的东西,主要与 network/dns/firewall/server 配置有关。