3

次のような公開遺伝子情報のスニペットを表す MongoDB データベースがあります。

{
    _id: 1,
    symbol: "GENEA",
    db_references: {
        "DB A": "DBA000123",
        "DB B" ["ABC123", "DEF456"]
    }
}

@Document次のように、これを注釈付きの POJO クラスにマップしようとしています。

@Document
Public class Gene {
    @Id 
    private int id;
    private String symbol;
    private Map<String,Object> db_references;
    //getters and setters
}

MongoDB のスキーマレス設計の性質上、db_referencesフィールドには可能なキーの長いリストを含めることができ、値は配列またはその他のキーと値のペアである場合があります。Gene私の主な関心事は、複数のドキュメントを取得してそれらをスライスできる速度db_referencesです。

私の質問: 取得のパフォーマンスを最適化するために、このフィールドを表す最良の方法は何ですか? カスタム POJO を定義して、このフィールドをそれにマップする必要がありますか? にするべきBasicDBObjectですか?それとも、Spring Data でドキュメントをまったくマップせず、MongoDB Java ドライバーを使用して、返された DBObjects を解析するのが最善でしょうか?

4

1 に答える 1