TL;DR
Няма DBRef поддръжка в реактивни Spring Data MongoDB и не съм сигурен, че ще има.
Обяснение
Проектите Spring Data са организирани в Template API, компоненти Converter и Mapping Metadata. Императивното (блокиращо) внедряване на Template API използва императивен подход за извличане на Document s и ги преобразувайте в обекти на домейн. MappingMongoConverter по-специално обработва цялото преобразуване и DBRef резолюция. Този API работи в синхронен/императивен API и се използва и за двете реализации на Template API (императивен и реактивен).
Повторно използване на MappingMongoConverter беше логичното решение при добавяне на реактивна поддръжка, тъй като не е необходимо да дублираме код. Единственото ограничение е DBRef резолюция, която не отговаря на модела на реактивно изпълнение.
За поддръжка на реактивен DBRef s, конверторът трябва да бъде разделен на няколко бита и цялата обработка на асоциирането изисква основен ремонт.
Справка:https://jira.spring.io/browse/DATAMONGO-2146
Препоръка
Съхранявайте препратките като ключове/идентификационни номера във вашия модел на домейн и ги търсете, ако е необходимо. zipWith и flatMap са подходящите оператори, в зависимост от това какво искате да архивирате (подобрете модела с препратки, само препратки за търсене).
По свързана бележка:Reactive Spring Data MongoDB идва частично с намален набор от функции. Контекстното разширение на SpEL е функция, която не се поддържа, тъй като тези компоненти предполагат императивен модел на програмиране и следователно синхронно изпълнение.