TL;DR
Tidak ada DBRef
dukungan di Spring Data MongoDB reaktif dan saya tidak yakin akan ada.
Penjelasan
Proyek Spring Data diatur ke dalam komponen API Template, Konverter, dan Metadata Pemetaan. Implementasi imperatif (pemblokiran) dari Template API menggunakan pendekatan imperatif untuk mengambil Document
s dan mengubahnya menjadi objek domain. MappingMongoConverter
khususnya menangani semua konversi dan DBRef
resolusi. API ini berfungsi dalam API sinkron/imperatif dan digunakan untuk implementasi API Template (imperatif dan reaktif).
Penggunaan kembali MappingMongoConverter
adalah keputusan logis sambil menambahkan dukungan reaktif karena kami tidak perlu menggandakan kode. Satu-satunya batasan adalah DBRef
resolusi yang tidak sesuai dengan model eksekusi reaktif.
Untuk mendukung DBRef
reaktif s, konverter perlu dipecah menjadi beberapa bit dan seluruh penanganan asosiasi memerlukan perbaikan.
Referensi :https://jira.spring.io/browse/DATAMONGO-2146
Rekomendasi
Simpan referensi sebagai kunci/Id dalam model domain Anda dan cari sesuai kebutuhan. zipWith
dan flatMap
adalah operator yang sesuai, tergantung pada apa yang ingin Anda arsipkan (tingkatkan model dengan referensi, hanya referensi pencarian).
Pada catatan terkait:Reactive Spring Data MongoDB hadir sebagian dengan set fitur yang dikurangi. Ekstensi SpEL kontekstual adalah fitur yang tidak didukung karena komponen ini mengasumsikan model pemrograman imperatif dan dengan demikian eksekusi sinkron.