2012-12-11 81 views
0

我最近一直在尝试学习Node.js和Mongo。我在Heroku上建立了一个帐户,获得了一个简单的Node.js应用程序,并正常运行,然后深入Mongo。我在MongoHQ上添加了,但是从那以后一直无法将应用程序连接到数据库。每当我运行应用程序,它崩溃。在这一点上,我只想弄清楚我的数据库连接或使用mongoskin的问题。这里是我当前的代码:无法使用Node.js + Expressjs连接到MongoHQ

var express = require('express'); 
var mongo = require('mongoskin'); 

var app = express.createServer(express.logger()); 

var conn = mongo.db(process.env.MONGOHQ_URL); 

app.get('/', function(request, response) { 
    conn.collection('facts').find().toArray(function(err, facts){ 
      if(err) throw err; 
      response.send(facts); 
    }); 

}); 

var port = process.env.PORT || 5000; 
app.listen(port, function() { 
    console.log("Listening on " + port); 
}); 

,我的包文件:

{ 
    "name": "app1", 
    "version": "0.0.4", 
    "dependencies": { 
      "express": "3.x", 
      "mongoskin" : "0.1.x" 
    }, 
    "engines": { 
      "node": "0.8.x", 
      "npm": "1.1.x" 
    } 
} 

,最后错误代码:

2012-12-11T17:42:32+00:00 app[web.1]:  at Module.load (module.js:356:32) 
2012-12-11T17:42:32+00:00 app[web.1]:  at Module._compile (module.js:449:26) 
2012-12-11T17:42:32+00:00 app[web.1]:  at Object.<anonymous> (/app/node_modules/mongoskin/lib/mongoskin/db.js:162:28) 
2012-12-11T17:42:32+00:00 app[web.1]:  at Db.Object.defineProperty.get [as state] (/app/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/db.js:2125:31) 
2012-12-11T17:42:32+00:00 app[web.1]:  at Module.require (module.js:362:17) 
2012-12-11T17:42:32+00:00 app[web.1]:  at Module._compile (module.js:449:26) 
2012-12-11T17:42:32+00:00 app[web.1]: TypeError: Cannot read property '_serverState' of undefined 
2012-12-11T17:42:32+00:00 app[web.1]:  at Function.Module._load (module.js:312:12) 
2012-12-11T17:42:32+00:00 app[web.1]:  at Object.<anonymous> (/app/node_modules/mongoskin/lib/mongoskin/index.js:2:10) 
2012-12-11T17:42:32+00:00 app[web.1]: 
2012-12-11T17:42:32+00:00 app[web.1]:  at Object.Module._extensions..js (module.js:467:10) 
2012-12-11T17:42:32+00:00 app[web.1]:  at require (module.js:378:17) 
2012-12-11T17:42:33+00:00 heroku[web.1]: Process exited with status 1 
2012-12-11T17:42:33+00:00 heroku[web.1]: State changed from starting to crashed 

上什么可能导致的问题将是非常的任何帮助赞赏。

回答

0

您只需要更新mongoskin库。替换此行:

"mongoskin" : "0.1.x"

"mongoskin" : ">= 0.3.6"

更多细节here