[MongoDB] Error: getMore: cursor didn't exist on server, possible restart or timeout? の解決方法
MongoDB のクエリで Error: getMore: cursor didn’t exist on server, possible restart or timeout? が発生したときの解決方法をご紹介します。
そもそも timeout が発生するのは、MongoDB クエリの実行時間が長いのが原因です。
チェック項目
など、クエリの実行時間が長く掛かっている点をチェックして、改善しましょう。
MongoDB クエリのパフォーマンスチューニングしても timeout エラーが解決しない場合、cursor.addOption() で noTimeout オプションを指定して、タイムアウトを無効に設定しましょう。
db.collection.find().addOption(DBQuery.Option.noTimeout)
以上、MongoDB のクエリが timeout して困った現場からお送りしました。