繁体   English   中英

如何通过一个查询获取从 spring-mongodb 的抽象类继承的特定类型?

[英]How do I fetch specific types inheriting from an abstract class from spring-mongodb with one query?

我正在使用 Spring MongoDb 数据,并且我有两个类 A 和 B 继承自类 C。A 和 B 都有“_class”字段。 我想获取其中包含 A 和 B 的文档列表,并将它们映射到它们的继承对象,但是使用 MongoOperation 似乎只能在每个查询中放置一个类实体。 有没有办法获取 A 和 B 的列表并将它们多态化为相应的 java 对象? 或者获取抽象 C 是同时获取 A 和 B 的唯一方法?

您传递给MongoTemplate….find…(…)方法的单个类型参数实际上是定义要读取的集合和最终由文档映射子系统生成的对象类型的快捷方式。 不会以任何方式限制文档选择。 这有效地实现了按集合的类型层次结构方法。

如果要将查询结果限制为仅某些子类型,则需要使用Query类型的….restrict(Class, Class…)方法,该方法允许定义应该读取哪些名义类型。 这有效地转化为对写入时持久化的类型别名的约束,因为 MongoDB 文档首先对客户端上的类型一无所知。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM