2016-09-26 3 views
2

MongoDBからデータを取得しようとしています。データベース接続は毎回OKですが、エラーはありません。私は、データをフェッチしようとしているときしかし、それは私に、以下のエラーを与える: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

今、「レプリカセットでプライマリが見つかりません」というエラーが表示されることがあります。そして、5の代わりに7の唯一の変更でほとんど前のエラー。 {[MongoError:接続7〜c1669.candidate.18.mongolayer.com:11669タイムアウト] 名前: 'MongoError'、 メッセージ: '接続7 to c1669.candidate.18.mongolayer.com:11669タイムアウト'} –

答えて

1

最初の10-11回の試行は良いと言われているように、接続プールサイズの問題があると思うので、接続を作成するときに非常に限られたプールサイズを定義している可能性があります。データベースに問い合わせます。コードを見ずにわからないので確認してください。しかしこれが理由かもしれません。

更新:

デシベルへの接続時のオプションの下に試してみてください。

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

誰も助けることができますか?それは私の悪夢のようなものです。 –

関連する問題