2016-09-26 2 views
2

데이터베이스 연결이 매번 성공하며 오류가없는 MongoDB에서 데이터를 가져 오려고합니다. 내가 데이터를 가져 오기 위해 노력하고 있어요 그러나 그것은 나에게 아래의 오류를 제공합니다Node.js의 MongoDB에서 데이터를 가져 오는 중 오류가 발생했습니다.

{ [MongoError: connection 5 to c1669.candidate.18.mongolayer.com:11669 timed out] 
    name: 'MongoError', 
    message: 'connection 5 to c1669.candidate.18.mongolayer.com:11669 timed out' } 

하지만 먼저 10 ~ 11 시도가 좋은과 몽고에서 예상 데이터를 받고, 나중에 내가 계속 위의 오류에 의해 소개되었다.

자세한 정보 : mongodb npm module을 사용하십시오.

+0

는 당신이 우리에게 당신이하려고하는 코드를 표시 할 수 있습니다 참조하십시오? – Shrabanee

+0

죄송합니다! 코드 세그먼트를 표시 할 수 없습니다. 나는 계약에 묶여있다. –

+0

이제 "replicaset에서 기본이 없습니다"라는 오류가 발생합니다. 그리고 5 대신에 7의 유일한 변화를 가진 주로 이전 오류. {[MongoError : 연결 7에서 c1669.candidate.18.mongolayer.com:11669 시간 초과] 이름 : 'MongoError', 메시지 : '연결 7에서 c1669.candidate.18.mongolayer.com:11669 시간 초과 됨'} –

답변

1

처음에는 연결 풀 크기가 문제가된다고 생각합니다. 10-11 시도가 좋다고해서 연결에 매우 제한적인 풀 크기를 정의했을 수 있으므로 연결을 만들 때 제한을 초과하면 허용되지 않습니다. 데이터베이스를 조회하십시오. 코드를 보지 않고 잘 모르겠는지 확인해주세요.하지만 이유가있을 수 있습니다.

업데이트 : dB로 연결시 옵션 아래

보십시오.

var dbOptions = { 
    server: { 
     socketOptions: { 
      keepAlive: 100, 
      connectTimeoutMS: 30000 
     } 
    } 
}; 

mongoose.connect('mongodb://localhost/db', dbOptions); 

복제본을 사용하고있는 것으로 보이는이 링크를 참조하십시오. https://github.com/Automattic/mongoose/issues/2089

+0

이제 다음을 사용하고 있습니다. var options = {native_parser : true, poolSize : 50, server : {socketOptions : {connectTimeoutMS : 15000, socketTimeoutMS : 15000}}}; 여전히 같은 오류가 있습니다. 다른 건 없니? –

+0

아무도 도와 줄 수 있습니까? 나에게는 악몽 같다. –

관련 문제