我正在使用Spring& amp;编写演示应用程序MongoDB作为数据库。
我的主域名类似于:
@Document
public class Person {
@Id
private String id;
//Some other fields
private DBObject additionalData;
}
关键是additionalData是一个没有指定架构的子文档,它是一种用户定义的JSON。但是当我解析这个json(使用(DBObject)JSON.parse(value)表达式)时,它在MongoDB中存储为一个字符串,我需要它作为一个嵌套的文档结构。
搜索了几个小时,发现没有解决方案。有什么想法吗?
答案 0 :(得分:0)
我不确定投射
结果的预期结果JSON.parse(value)
到DBObject,这是一个接口,而不是一个类。 尝试将结果转换为DBObject BasicDBObject(或BasicDBList)或Map< String,Object>的实现。正如评论中提到的那样(它也是一个界面,但确实有效)。
如果您正在使用Spring Data Rest,则可能不需要手动反序列化",Spring会为您完成此操作。查看this answer以获取有关操作的基本示例。 没有指定模式的数据可能不是最好的想法(mongodb会在数据库级别保存你,但你应该在应用程序级别这样做),但我在生产中使用类似的技巧,你可以以某种方式使它工作