我有一个Mongo数据库,正在使用Java中的Play Framework构建REST API。我想使用像MongoJack或PlayJongo之类的某种映射器将我的Mongo查询结果映射到POJO。
我的问题是我不想在我的POJO中指定所有/新字段。我想要做的是将所有未映射的字段放入捕获所有Map作为POJO的一部分。这样,添加的新字段仍然可以在API响应中返回,而Java应用程序不必知道它们。
以下是一个例子:
Mongo文件:
{
_id: 1234,
mappedString: "Foo",
mappedInt: 544,
unMappedString: "Test",
unMappedInt: 12
}
Java Class
public class Bar {
private int _id;
private String mappedString;
private int mappedInt;
private Map<String, Object> unMappedFields;
}
然后我希望unMappedFields字段中有两个条目是&#34; unMappedString&#34;和#34; unMappedInt&#34;与价值观#34;测试&#34;和12分别。
有没有办法用Mongo POJO映射器实现这一点?我是否无法找到有关这是否可能的任何信息。
答案 0 :(得分:0)
为什么不将mongo存储为:
{
_id: 1234,
mappedString: "Foo",
mappedInt: 544,
unMappedFields:
{
unMappedString: "Test",
unMappedInt: 12
}
}
我使用过morphia,这个案例会被直接解析。