mongolab에 mongodb 복제 세트가 있습니다.Heroku + mongoose 연결 오류 : 주 서버가 없습니다.
나는 nodejs + mongoose를 사용하고 있습니다. 내 로컬 컴퓨터에서 연결을 시도 할 때 모든 것이 잘됩니다. 그러나 잘못된 Heroku가 뭔가 일이 발생 몽구스 이상한 오류가있어에 배포 후 : 여기
[Error: no primary server found in set]
일부 코드 (server.js) :
async.series([
function(callback){
console.log('DB Connection: ' + siteConf.mongo_url);
mongoose.connect(siteConf.mongo_url, siteConf.mongo_options, callback);
},
function(callback){
http.createServer(app).listen(siteConf.port, callback);
}
],
function(err, results){
if (err) {
console.log(err);
}
console.log('Running in ' + (process.env.NODE_ENV || 'development') + ' mode @ ' + siteConf.uri);
}
);
내가 연결 문자열로 사용하고이 URL :
를mongodb://username:[email protected]:39897/pm_prod,mongodb://someid-a1.mongolab.com:39897
내가 이해할 수없는 주요 사실은 내 머시닝과 heroku 클라우드 호스팅의 차이점은 무엇인가?
이미 node_modules를 제거하고 npm을 설치하여 heroku에서와 동일한 버전으로되어 있는지 확인했습니다. (왜냐하면 heroku는 배포 할 때마다 이것을 수행하기 때문입니다.)
감사하고 죄송합니다 나의 나쁜 영어
확실하지합니다. MongoHQ가 데이터베이스에 사용되었습니다. 로컬 머신 + 로컬 MongoDB, 로컬 머신 + MongoHQ 인터페이스가 완벽하게 작동했습니다. Heroku + MongoHQ는 오류를 주었고 로그는별로 도움이되지 못했습니다. 며칠 동안 문제를 해결하는 데 소비했습니다. 기본적인 지원을 제외하고, Heroku는 $ 1000 달입니다; 여유가 없다. AWS로 이동하여 지금까지 문제가 없었습니다. – almypal