7

herokuでmongolabを使用してnode.jsとmongodbを作成するのに問題があります。MongoLab を使用して Heroku で MongoDB データベースをセットアップするにはどうすればよいですか?などの他の問題を読みました。Node.js Web アプリケーションで MongoDB 接続を管理するにはどうすればよいですか? しかし、まだ接続をセットアップできません。ログには [エラー: 接続に失敗しました ...] と表示されます

MONGOLAB_URI プロセス環境からデータベース、ホスト、およびポートを取得しました。次のコードがあります。

var mongoUri = mongodb://heroku_app17328644:{password}@ds037518.mongolab.com //taken from process.env.MONGOLAB_URI 

var host = 'mongodb://heroku_appXXXXXX:{password}@ds037518.mongolab.com';
var port = '37518';
var database = 'heroku_appXXXXXX';

Provider.db = new Db(database, new Server(host, port, { safe: true }, { auto_reconnect: true }, {}));
Provider.db.open(function(err, db){
console.log(db); //null
if (err) console.log(err);
else console.log('success');
});

私は何を間違っていますか?

4

3 に答える 3

4

私の場合、構成設定を照会heroku configしたところ、mongodb が として追加されていることがわかりましたMONGODB_URI

そこで、次のような uri に process.env.MONGODB_URI を追加しました。

var uri = process.env.MONGODB_URI || process.env.MONGOHQ_URL || process.env.MONGOLAB_URI;
于 2016-08-16T21:03:36.477 に答える
4

これが私のやり方です。このようにして、アプリケーションは開発マシンの「test」データベースに接続し、Heroku にデプロイして実行すると「mongolab」データベースに接続します。

mongoose = require("mongoose");
mongoURI = 'mongodb://localhost/test';
mongoose.connect(process.env.MONGOLAB_URI || mongoURI);
于 2014-11-11T01:20:13.050 に答える