TL;DR
Nie ma DBRef wsparcie w reaktywnym Spring Data MongoDB i nie jestem pewien, czy będzie.
Wyjaśnienie
Projekty Spring Data są podzielone na komponenty Template API, Converter i Mapping Metadata. Niezbędna (blokowanie) implementacja interfejsu API szablonów wykorzystuje imperatywne podejście do pobierania Document si przekonwertować je na obiekty domeny. MappingMongoConverter w szczególności obsługuje wszystkie konwersje i DBRef rezolucja. Ten interfejs API działa w synchronicznym/imperatywnym interfejsie API i jest używany do obu implementacji interfejsu API szablonów (imperatywnej i reaktywnej).
Ponowne użycie MappingMongoConverter była logiczną decyzją podczas dodawania wsparcia reaktywnego, ponieważ nie musimy duplikować kodu. Jedynym ograniczeniem jest DBRef rozdzielczość, która nie pasuje do reaktywnego modelu wykonania.
Aby wspierać reaktywne DBRef s, konwerter musi zostać podzielony na kilka bitów, a cała obsługa asocjacji wymaga remontu.
Odniesienie :https://jira.spring.io/browse/DATAMONGO-2146
Rekomendacja
Zachowaj odwołania jako klucze/identyfikatory w modelu domeny i wyszukaj je w razie potrzeby. zipWith i flatMap są odpowiednimi operatorami, w zależności od tego, co chcesz zarchiwizować (ulepszyć model o odniesienia, tylko odnośniki wyszukiwania).
W związku z tym:Reactive Spring Data MongoDB zawiera częściowo zredukowany zestaw funkcji. Kontekstowe rozszerzenie SpEL to funkcja, która nie jest obsługiwana, ponieważ te komponenty zakładają imperatywny model programowania, a tym samym wykonanie synchroniczne.