2016-07-06 5 views
0

次の接続パターンがあり、「MongoError:auth fails」というメッセージが表示されます。たぶん、マングースバージョンの問題ですか? OpenshiftにはMongoDB 2.4とRockMongo 1.1があります。MongoError:オープンシフト時にmongooseでauthが失敗する

// Connection URL 
var connection_string = 'mongodb://127.0.0.1:27017/my_app'; 

if(process.env.OPENSHIFT_MONGODB_DB_PASSWORD){ 
    connection_string = process.env.OPENSHIFT_MONGODB_DB_USERNAME + ":" + 
    process.env.OPENSHIFT_MONGODB_DB_PASSWORD + "@" + 
    process.env.OPENSHIFT_MONGODB_DB_HOST + ':' + 
    process.env.OPENSHIFT_MONGODB_DB_PORT + '/' + 
    process.env.OPENSHIFT_APP_NAME; 
} 

// Connect to mongodb 
var connect = function() { 
    mongoose.connect(connection_string); 
}; 
connect(); 
var db = mongoose.connection; 
db.on('disconnected', connect); 

答えて

0

RockMongo 1.1をアンインストールし、mongodbシェルからデータベースを直接作成して問題を解決しました。接続文字列を次のように変更しました。

var db_name = 'database_name'; 
if(process.env.OPENSHIFT_MONGODB_DB_URL){ 
    var mongodb_connection_string = process.env.OPENSHIFT_MONGODB_DB_URL + db_name; 
} 
// Connect to mongodb 
var connect = function() { 
    mongoose.connect(mongodb_connection_string); 
}; 
connect(); 

var db = mongoose.connection; 

db.on('error', function(error){ 
    console.log("Error loading the db - "+ error); 
}); 

db.on('disconnected', connect); 
関連する問題