Node.js无法连接到MongoDB
我对Node.js和MongoDB都是新手。 我正在遵循这个指南: http : //howtonode.org/express-mongodb用Node.js和MongoDB创build一个简单的博客。
当节点尝试连接到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); } }); };
在我的terminal,我得到:
8月9日10:48:19 – [nodemon]启动node app.js
[错误:无法连接到[127.0.0.1:27107]]
我正在运行node.js v0.8.6和mongodb v2.0.6
我有这些文件中的其他代码,但从我可以看到它不应该影响数据库连接。
当mongod进程没有运行或者连接到错误的主机/ IP时,会发生这种情况。
你有它在本地主机上运行,如果是的话,你可以从你的mongo shell访问它?
尝试使用node,express和mongodb nodejs驱动程序的最低版本的应用程序进行testing。
我用这些文件testing了它:
- http://howtonode.org/express-mongodb/articleprovider-mongodb.js
- http://howtonode.org/express-mongodb/app.js
而且它运行良好,除了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);