2016-11-14 14 views
12

Node、express、およびMongoDBで実行されているWebアプリケーションがあります。私はODMとしてマングースを使用します。 mongodbバージョンv3.0.1でアプリケーションをテストしたところ、正常に動作し、エラーは発生しません。しかし、同じコードv3.2.10を実行すると、しばらくしてから接続タイムアウトが発生します。接続mongooseを使用したmongodbのTImeout

私は次のエラーを取得する:

Error: connection timeout at null.<anonymous> (/webapp/node_module/mongoose/lib/drivers/node-mongodb-native/connection.js:186:17) 

私は地元のMongoDBインスタンスへのDB接続にmongoose.connectを使用しています。 接続方法が変更されましたか?

+0

接続のタイムアウトが「null」になると、適切なポート番号がmongooseのconnection.jsモジュールに渡されていないと思われます。これを考慮しましたか? – BenWS

+0

それはしばらくの間、細かい動作をうまく接続します。だから私は接続がうまく動作すると思うが、このエラーは20-30分後に表示されます。 – Dan

+0

@ダン私は同じ問題があります。あなたがそれを解決できるなら、私にどのように教えてください。 – slorenzo

答えて

13

私は少し前にこの問題を抱えていました。それはすべてあなたが使用しているmongoosemongodb-coreのバージョンに依存します。今、あなたは、次のパラメータを指定する必要があります、しかしちょうど昨日、

mongoose.connect("mongodb://user:[email protected]/db", { 
    server: { 
    socketOptions: { 
     socketTimeoutMS: 0, 
     connectTimeoutMS: 0 
    } 
    } 
}); 

正しいパラメータを

mongoose.connect("mongodb://user:[email protected]/db", { 
    server: { 
    socketOptions: { 
     socketTimeoutMS: 0, 
     connectionTimeout: 0 
    } 
    } 
}); 

を私は本当にもう信じるするのか分からない...

+0

を参照してください。こちらも参照してください:https://github.com/christkv/mongodb-core/issues/153最新のmongodb-coreでタイムアウトを設定する。 – DBellavista

+0

私もこのエラーを無視していましたが、これを知っておいてよかったです。 – Volem

関連する問題