sql >> データベース >  >> NoSQL >> MongoDB

リアクティブSpringDataMongoDBでdb参照を使用するにはどうすればよいですか?

    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拡張は、これらのコンポーネントが命令型プログラミングモデルを想定しているため、サポートされていない機能であり、したがって同期実行です。



    1. MongoDB(mongomapper)のLIKEコマンド

    2. mongoaggregationを使用してドキュメントをペアでグループ化する

    3. AddToSetで更新してMongoDBC#でnull値を更新しない

    4. Hadoopの制限、Hadoopの欠点を解決する方法