spring - 使用 _class 的 MongoDB 类型推断

标签 spring mongodb spring-data spring-data-mongodb

我一直在阅读 MongoDB documentationSpring默认情况下向存储的数据添加一个 _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/

相关文章:

java - 查询在 MongoDB 中查找子文档

java - Hibernate删除非孤儿

java - CXF和spring如何相互支持

java - 带有 c3p0 的 spring JPA 在第一次请求时连接超时

node.js - Passport 本地策略身份验证似乎仅适用于具有共享 MongoDB 实例的本地主机

Mongodb 查询不在带有文本字段的复合索引上使用前缀

spring - Spring Data Couchbase 使用 _class 字段做什么?

java - 如何使用spring data获取mongodb中最大聚合函数对应的值

java - 在 Hibernate 5、Tomcat 8 中配置数据源

java - Spring 和 PostgreSQL 之间的错误编码