我一直在阅读 MongoDB
documentation和 Spring
默认情况下向存储的数据添加一个 _class 字段。有什么方法可以使用此信息进行类型推断?
例如:有一个抽象类Animal,它有三个子类Dog、Cat、Bird。假设您有一个包含动物列表的动物园类。在数据库中存储那些 Zoo 对象。有什么函数可以得到 List<Animal>
回到可以向上转换的动物?
我正在使用 Spring
所以我更喜欢有一个可以使用 spring-data-mongodb
的解决方案.但是外部映射库也可以。我不想自己写它,因为它似乎是基本的映射功能。
最佳答案
确保映射您提到的所有类型以存储在同一个集合中(例如使用@Document 注释)。然后,您可以简单地对将 Animal 中的集合传递给 MongoTemplate 上的相应方法执行查询。然后,底层转换器将根据存储在 _class 中的信息自动实例化正确的类型。这同样适用于 Spring Data MongoDB 存储库的使用。
关于spring - 使用 _class 的 MongoDB 类型推断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18495899/