以前のquestionと同様に、Spring RESTを使用してMongoDBのデータにアクセスしようとしています。REST、Springを介してMongoDBのネストされたデータにアクセスする
私は単純なKey-Value Pairsのコレクションを持っており、それらの細かいものにアクセスできます。
{
"_id" : ObjectId("5874ab4a19b38fb91fbb234f"),
"roID" : "7ed3f9a6-bb9b-4d16-8d1a-001b7ec40b51",
"Name" : "[REDACTED]"
}
問題は、これらのオブジェクトは、このような、それらの間の性質との関係を、表示する別のコレクションで使用されている。
{
"_id" : ObjectId("5874ab4f19b38fb91fbb6180"),
"[OBJECT CATEGORY A]" : {
"_id" : ObjectId("5874ab4a19b38fb91fbb257b"),
"roID" : "72f8a8b5-71a7-40ac-b1ac-1ffc98a507ba",
"Name" : "[REDACTED]"
},
"[OBJECT CATEGORY B]" : {
"_id" : ObjectId("5874ab4b19b38fb91fbb32a3"),
"roID" : "919446ab-1898-419f-a704-e8c34985f945",
"Name" : "[REDACTED]"
},
"[RELATIONSHIP INFORMATION]" : [
{
"[PROPERTY A]" : [
{
"[VALUE A]" : 5.0
},
{
"[VALUE B]" : 0.0
}
]
},
プロパティは、どこかに8と20
の間でありますJavaの最初の(平らな)オブジェクトの定義は次のようになります:
@Document(collection="OBJ")
public class Obj {
public Obj(){};
@Id
public String id;
@Field("roID")
public String roID;
@Field("Name")
public String name;
}
リポジトリクラス:
@RepositoryRestResource(collectionResourceRel = "OBJ", path = "OBJ")
public interface ObjRepo extends MongoRepository<Obj, String> {
List<Obj> findByName(@Param("name") String name);
}
質問:ネストされたオブジェクトにアクセスするにはどうすればよいですか?私は複雑なコレクションのStringsの代わりにLinkedHashMapを使用しようとしましたが、カールはそれらにアクセスしようとすると "null"しか返しません。私はクラスを定義しようとしました
public class BITS {
@Id
private String _id;
@Field("roID")
private String roID;
@Field("Name")
private String name;
public BITS(){}
public BITS(String _id,String roID, String name){
this._id = _id;
this.roID = roID;
this.name = name;
}
}
これらのオブジェクトにアクセスするには失敗しました。