Mongo - 我无法使用java-mongo 3.5驱动程序保存Pojo(如果它包含Map <string,object>或Document字段)

时间:2017-12-06 16:11:19

标签: java mongodb

我想使用mongo java驱动程序3.5,它允许你保存pojo(它自动将它映射到bson)。 http://mongodb.github.io/mongo-java-driver/3.5/driver/getting-started/quick-start-pojo/

此pojo包含Map类型的字段(称为dynabean):

private String signature;
private Map<String, Object> properties = new LinkedHashMap<>();

当我尝试保存它时,我得到:

CodecConfigurationException: Can't find a codec for class java.lang.Object

我尝试用文档替换此地图:

private String signature;
private Document properties;

但是当我尝试保存包含文档的pojo对象时 - 它不起作用:

CodecConfigurationException: Can't find a codec for class my.test.case.PojoWithDocument

总结一下:我可以保存一个文档,我可以保存一个Pojo,但是我无法保存包含文档的Pojo。我无法保存包含Map<String, Object>的Pojo。

我该如何处理?有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用java mongo驱动程序3.6,您应该能够保存包含文档的Pojo。