我可以通过这样做从命令行连接到我的 mongo 数据库:
$ mongo 127.0.0.1:27017/my_database
但是当我尝试连接我的 node.js 代码时,我收到了错误:
{ err: 'connection to [127.0.0.1:27017] timed out' }
这是我的代码:
var mongo = require('mongodb');
var MongoClient = mongo.MongoClient;
var DB_NAME = 'my_database';
var connectionString = 'mongodb://127.0.0.1:27017/' + DB_NAME;
MongoClient.connect( connectionString, function(err, conn)
{
console.log(err, conn);
});
我没有找到任何东西来解释这个错误,而且我不明白为什么当我可以从命令行连接时我的代码会失败。
我通过重新启动
mongod
,然后重新启动 Node 进程解决了这个问题。
这里的问题是mongodb的版本。
版本
1.3.23
有这个错误。$ npm uninstall mongodb --save
$ npm install mongodb --save
这给了我版本
2.2.11
,这解决了问题。