Реактивный настраиваемый курсор закрывается, когда коллекция mongodb пуста - PullRequest
0 голосов
/ 17 января 2019

Я разрабатываю поток с webflux из коллекции mongodb с пружинным загрузчиком и mongodb с пружинными данными с настраиваемыми курсорами.

Поток работает, когда в коллекции 1 документ или более, из-за которого вы можете получить курсор. Проблема заключается в том, что я хочу открыть поток с пустой коллекцией, так как я хочу передавать каждый документ в коллекции.

Я читал документы, и это должно быть правильно:

https://docs.spring.io/spring-data/mongodb/docs/current/reference/html/#tailable-cursors

Настраиваемые курсоры могут стать неактивными или недействительными, , если запрос не возвращает совпадения или курсор возвращает документ в «конце» коллекции, и приложение затем удаляет этот документ

Я оцениваю лучший способ достичь этого (открыть поток из пустой коллекции) с помощью пружинной загрузки и обновления, но я бы предпочел узнать, есть ли какая-то идея или обходной путь.

Спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

Действительно, даже «найти все» в пустых ограниченных коллекциях считается несоответствием, а курсор не работает. responsetiveMongoOperations.tail (new Query (), Event.class) возвращает мертвый курсор, как и аннотированный репозиторий. Весенние документы просто дублируют документы монго, в которых указано

Настраиваемые курсоры могут стать мертвыми или недействительными, если: запрос не возвращает совпадений. курсор возвращает документ в «конец» коллекции, а затем приложение> удаляет этот документ.

Только обходной путь, по-видимому, является исходной фиктивной записью, вставленной до подписки.

...