(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【MongoDB】MongoTimeoutError: Server selection timed out となるエラー

スポンサーリンク

事象

node.jsアプリケーションにてMongoDBに接続に行く処理にて以下のようなタイムアウトエラーになる、

MongoTimeoutError: Server selection timed out after 10000 ms
...
 name: 'MongoTimeoutError'
環境情報
  • NodeJS Version: 12.16.1 - x64
  • MongoDB Version: 4.2.6

原因/解決策

接続に10000ms(10s)以上かかっている可能性がある。
よってMongoDB用の環境変数であるMONGO_OPTIONSにて以下のようタイムアウト値を変更する。

MONGO_OPTIONS='{ "serverSelectionTimeoutMS": 30000}'

以下、補足です。

補足

環境によっては接続に時間がかかって接続処理の途中にてエラーとなり接続断が起きてしまいます。

node.jsによりMongoDBへの接続に対しては

MONGO_URL

のように環境変数を渡して起動を行います。

そこで解決策に記載したようにデフォルトである10000よりも大きな値で動きが変わるか否かを確認すると「接続処理に時間がかかっていることによるエラーか否か」の切り分けができます。

以上、ご参考になれば幸いです。