2012-08-09 188 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