我正在尝试弄清楚如何使用Spring Mongo将半结构化文档持久化到MongoDB。下面是我想要实现的一个例子:
{
"name": "Test",
"admin": false,
"unstructured_field_one": "Some arbitrary data"
}我知道如何将完全非结构化的数据用作父文档中的字段,在这种情况下,我可以使用如下内容
//...
private Object someRandomObject;但是,我如何才能完成半结构化文档(在父级),在这种文档中,我将name和admin作为必填字段,并且自动添加与请求一起出现的任何其他内容?
发布于 2017-05-15 06:40:29
您可以不使用任何pojo,只需使用Json Parser(Jackson)和MongoTemplate即可。由于MongoTemplate可以保存任何DbObject,因此您需要将您的json转换为DBObject。
像这样的东西就可以了
ObjectMapper mapper = new ObjectMapper();
TypeReference<Map<String,Object>> typeRef
= new TypeReference<Map<String,Object>>() {};
Map<String,Object> map = mapper.readValue(json, typeRef);
DBObject dbObject = new BasicDBObject(map);
mongoTemplate.getCollection("blahblah").save(dbObject);https://stackoverflow.com/questions/43965829
复制相似问题