2012-08-09 190 views
2

我是Node.js和MongoDB的新手。我遵循本指南:http://howtonode.org/express-mongodb用Node.js和MongoDB创建一个简单的博客。Node.js无法连接到MongoDB

当节点尝试连接到MongoDB时,它失败了,我不知道为什么。

在我的app.js文件我有:

var articleProvider = new ArticleProvider('127.0.0.1', 27107); 

在我articleprovider-mongodb.js文件我有

var Db = require('mongodb').Db; 
var Connection = require('mongodb').Connection; 
var Server = require('mongodb').Server; 
var BSON = require('mongodb').BSON; 
var ObjectID = require('mongodb').ObjectID; 

ArticleProvider = function(host, port) { 
    this.db = new Db('node-mongo-blog', new Server(host, port, {auto_reconnect: true}, {})); 
    this.db.open(function(err){ 
    if(err) { 
     console.log(err); 
    } 
    }); 
}; 

在我的终端,我得到:

10年8月9日:48:19 - [nodemon]开始node app.js [错误:无法连接到[127.0.0.1:27107]]

我正在运行node.js v0.8.6和mongodb v2.0.6

我在这些文件中有其他代码,但从我可以看到它应该不会影响数据库连接。

回答

2

发生在mongod进程为而不是正在运行或您正在连接到错误的主机/ IP。

你有它在你的本地主机上运行,​​如果是的话,你可以从你的mongo shell中访问它吗?

尝试使用节点,express和mongodb nodejs驱动程序的最低版本的应用程序进行测试。

我对这些文件进行了测试:

它工作得很好,除了app.js的最后两行,因为表达 3 .x而不是在示例中使用的2.x。

var server = app.listen(3000); 
console.log("Express server listening on port %d in %s mode", server.address().port, app.settings.env); 
+0

感谢您的回复。 这些是我正在运行的两个文件,只是在db.open上添加了一些内容,以允许我看到生成的错误。 我可以连接到mongo shell。[这里是我运行我的mongodb时看到的屏幕截图](http://anony.ws/JYO) – ACyphus 2012-08-09 14:48:51

+0

我已经添加了错误检查,它工作正常为了我。我不认为nodemon是问题,但是您是否尝试过运行'node app.js'? – 2012-08-09 16:08:27

+0

刚刚尝试没有nodemon,我得到了同样的错误。 – ACyphus 2012-08-09 16:30:29