TL; DR
DBRef
はありません リアクティブSpringDataMongoDBでサポートされており、サポートされるかどうかはわかりません。
説明
Spring Dataプロジェクトは、テンプレートAPI、コンバーター、およびマッピングメタデータコンポーネントに編成されています。 Template APIの命令型(ブロッキング)実装は、命令型アプローチを使用してDocument
をフェッチします sそしてこれらをドメインオブジェクトに変換します。 MappingMongoConverter
特に、すべての変換とDBRef
を処理します 解像度。このAPIは同期/命令型APIで機能し、両方のテンプレートAPI実装(命令型と反応型)に使用されます。
MappingMongoConverter
の再利用 コードを複製する必要がないため、リアクティブサポートを追加する際の論理的な決定でした。唯一の制限はDBRef
です リアクティブ実行モデルに適合しない解像度。
リアクティブなDBRef
をサポートするため s、コンバーターをいくつかのビットに分割する必要があり、アソシエーション処理全体をオーバーホールする必要があります。
参照: https://jira.spring.io/browse/DATAMONGO-2146
推奨事項
ドメインモデルでキー/IDとして参照を保持し、必要に応じてこれらを検索します。 zipWith
およびflatMap
アーカイブする対象に応じて、適切な演算子です(参照を使用してモデルを拡張し、参照のみを検索します)。
関連する注意事項:Reactive Spring Data MongoDBには、機能セットが部分的に削減されています。コンテキストSpEL拡張は、これらのコンポーネントが命令型プログラミングモデルを想定しているため、サポートされていない機能であり、したがって同期実行です。