0
我在連接到遠程mongoDB實例時遇到了一些問題。使用MongoClient無法連接到mongoDB
var http = require('http'),
express = require('express'),
path = require('path'),
MongoClient = require('mongodb').MongoClient,
Server = require('mongodb').Server,
CollectionDriver = require('./collectionDriver').CollectionDriver,
FileDriver = require('./fileDriver').FileDriver; //<---
var app = express();
app.set('port', process.env.PORT || 7777);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(express.bodyParser()); // <-- add
var mongoHost = 'mongodb://username:[email protected]';
var mongoPort = 33170;
var fileDriver; //<--
var collectionDriver;
var mongoClient = new MongoClient(new Server(mongoHost, mongoPort));
mongoClient.open(function(err, mongoClient) {
if (!mongoClient) {
console.error("Error! Exiting... Must start MongoDB first");
process.exit(1);
}
var db = mongoClient.db("myDatabaseName");
fileDriver = new FileDriver(db); //<--
collectionDriver = new CollectionDriver(db);
});
如果我開始我的本地機器上的節點,並輸入localhost:7777,我總是從上面得到以下錯誤在控制檯:
錯誤!退出...必須首先啓動MongoDB
可能是什麼原因?
不,這是在端口33170一mongoLab服務器上運行;節點應用程序正在我的本地機器上的端口7777上運行。 – Marcel 2014-08-30 12:54:37
好吧,我對你輸入localhost:7777的含義感到困惑。 'mongoClient.open'回調中包含'err'是什麼? – JohnnyHK 2014-08-30 12:59:58
錯誤:無法連接到[mongodb:// username:[email protected]:33170] ...這很有道理,因爲我只能訪問:mongodb:// username:[email protected]: 33170/myDatabaseName。但我怎麼能確定呢? – Marcel 2014-08-30 13:03:32