MongoDB: курсор был закрыт до завершения next () - PullRequest
0 голосов
/ 23 октября 2018

Я использовал драйвер Mongodb (Java) для поиска документов методом batchCursor().Но иногда я получал сообщение об ошибке:

com.mongodb.MongoException: курсор был закрыт до завершения next ().

Я повторил попытку, но всегда получаю эту ошибку.

Моя конфигурация:

collection.find(filter)
.cursorType(CursorType.TailableAwait)
.oplogReplay(oplogTimestamp != null)
.noCursorTimeout(true)
.batchSize(this.batchSize)

1 Ответ

0 голосов
/ 23 октября 2018

Похоже, я использовал CursorType.TailableAwait config по ошибке.Я изменил на CursorType.NonTailable, и он работал хорошо.

CursorType.TailableAwait имеет другую функцию: (Это похоже на то, как мы используем tail -f в linux)

Документация Mongo: https://docs.mongodb.com/manual/core/tailable-cursors/

...