43: CursorNotFound (Fehlercode 43)
MongoDBWas bedeutet das?
Der serverseitige Cursor existiert nicht mehr. Wenn der Client den nächsten Batch anfordert (getMore), wird der Fehler zurückgegeben, weil der Cursor nicht gefunden wird.
Ursache
Der Cursor ist in einen Timeout gelaufen (Standard 10 Minuten Inaktivität), zu lange Wartezeit zwischen Batches, ein Serverneustart oder der Cursor wurde explizit geschlossen.
Lösung
Verarbeite Cursor-Ergebnisse schneller; warte nicht lange zwischen Batches. Verwende bei lang laufenden Operationen die Option noCursorTimeout mit Bedacht (mongosh: cursor.noCursorTimeout(); PyMongo: no_cursor_timeout=True) und schließe den Cursor immer; ein Cursor innerhalb einer Session wird auch mit dieser Option beim Session-Timeout geschlossen (localLogicalSessionTimeoutMinutes, Standard 30 min). Iteriere bei großen Ergebnismengen mit kleinerer batchSize oder verwende bereichsbasierte Pagination. Starte die Operation neu und frage erneut ab.