大家?
我有一个具有以下结构的JSON:
@Id
private String id;
@Field
private Map<String, Cidades> map;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Map<String, Cidades> getMap() {
return map;
}
public void setMap(Map<String, Cidades> map) {
this.map = map;
}
上面的代码代表了我的MongoDB中存储的三个文档示例。
请注意,键(Recife,Cuiabá和Santos)在此架构中是动态的。
我的问题是如何使用Spring Data MongoDB在实体中映射这些动态键?我尝试了以下方法:
{{1}}
但是当Spring Repository进行查询时,map变量返回null。
我的代码出了什么问题?
最好的问候。
答案 0 :(得分:0)
不,你不能。如果要将这些文档映射到对象,则应该具有静态键。这里可能的解决方案是使用简单的操作检索文档:
Iterable<BasicDBObject> objects = mongoOperations.find(query, BasicDBObject.class, "collection");
然后手动将其转换为您的对象。
objects.stream()
.map(obj -> new Entity(...)
.collect(Collectors.toList());