Будет ли драйвер MongoDB Java 4.0+ повторять DBCursor.next()?

Я знаю, что драйвер Mongo Java будет повторять collection.find() и большинство других операций чтения согласно Mongo docs.

Но я нигде не вижу ни в документах, ни в источнике драйвера - повторится DBCursor.next() или DBCursor.hasNext()?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
6
0
203
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

collection.find() повторит всю коллекцию, это понятно.

Теперь, если вы используете операцию while, вы можете использовать операцию hasNext(), чтобы прервать операцию, когда элементов больше нет.

while(cursor.hasNext()){
  system.out.println(cursor.next())
}

Ответ принят как подходящий

Нет, он не будет повторять чтение на основе курсора.

Cursor.getMore() не может быть повторен из-за невозможности клиент, чтобы определить, был ли курсор передвинут. Другими словами, поскольку драйвер не знает, удалось ли выполнить оригинальный getMore() или нет, водитель не может достоверно знать, могут ли результаты быть непреднамеренно пропущено.

Подробнее здесь - https://github.com/mongodb/specifications/blob/master/source/retryable-reads/retryable-reads.rst#implementing-retryable-reads

Другие вопросы по теме

Найти документ по идентификатору и отфильтровать подмассив в Mongoose
Ошибка сегментации прямого вызова динамического компоновщика при запуске приложения, скомпилированного с пользовательским gcc
Mongoose, обновите объект внутри массива, который находится внутри другого массива
Как получить данные из пользовательской таблицы в mongos node js по идентификатору отношения
Mongodb Совокупный запрос для суммирования всех значений на основе полей внутри объектов в массиве
Как вы связываете теги с сообщениями и пользователями в приложении для обмена сообщениями?
Простой $lookup «левое соединение» ObjectId двух коллекций не работает в Mongo DB
Как выполнить POST с массивом внутри схемы Array Mongoose
Ссылка на имя загрузки файла S3 в новом объекте mongoDB
Итерация по массиву в попытке… поймать… наконец приводит к «MongoError: невозможно использовать сеанс, который закончился»