@koshi_life です。 MongoDB内に保存した大量のデータを加工する処理を行った際に、カーソルIDが見つからないMongoDB cursor id XXX not found (43) というエラーが度々発生し、原因と対策を調べた内容の備忘です。 前提 MongoDB: v4.0.3 mongoid: v7.0.2 TL;DR cursor id not found (43) の原因と対策2つ。 エラー原因1:タイムアウトの設定時間を超過した時 (デフォルト 10分) 対策: cursor.noCursorTimeout() のオプションを設定する エラー原因2:バッチ取得サイズ16MBを超えた時 (デフォルト 16MB) 対策- バッチ取得サイズを cursor.batchSize() で小さくする その他対策:Cursorを使わずに cursor.toArray() でRA