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



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

此pojo包含一个类型映射字段(称为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。

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

使用Java Mongo驱动程序3.6,您应该能够保存包含文档的POJO。

最新更新