С учетом моего более раннего question, я пытаюсь получить доступ к данным в MongoDB с помощью Spring REST.Доступ к вложенным данным в MongoDB через REST, Spring
У меня есть коллекции простых пар ключей и доступны для них.
{
"_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);
}
Вопрос: как я могу получить доступ к вложенным объектам? Я попытался использовать LinkedHashMap вместо строк для сложной коллекции, curl возвращает только «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;
}
}
для доступа к этим объектам, безуспешно.