我在MongoDB集合中有一个遗留属性,它存储为布尔值,但该属性已经进化,它变成了Object。
Morphia中有没有一种方法可以在这些属性是布尔值时忽略加载这些属性?如果它们是较新版本(Object),我只想检索它们,如果它们是布尔值,我只希望忽略它们。
当我尝试查找()一个属性为布尔值的文档时,我得到:
java.lang.ClassCastException:java.lang.Boolean不能强制转换为com.mongodb.DBObject!在org.mongodb.morphia.mapping.EmbeddedMapper.fromDBObject(EmbeddedMapper.java:162)~[morphia-1.0.1.jar:na]
有什么想法吗?感谢
您可以在方法上使用@PreLoad
注释,然后从DBObject
中删除该字段(如果它是布尔值)。然后DBObject
的后续处理应该正确地反序列化。您可以在这里看到一个示例