Dar*_*hta 7 repository mongodb spring-data spring-data-mongodb
我们使用spring数据mongo存储库来存储/检索文档.以下是我们得到的类的Java结构:抽象类A - >具体类B和C我们使用save()方法编写文档.保存文档时,会保存存储classPath的"_class"变量.现在,当我们尝试查询数据时,我们将获得B和C类的文档.以下是示例:
public List<B> findByName (String name);
当我们调用此方法时,列表(令人惊讶地)也包含C的对象.这可能是因为B和C有一个具有相同名称的属性.我的问题是,如果我们想将结果限制为特定的类,是否可以使用Mongo存储库?我们尝试使用findBy_Class,findByClass,但它抛出一个异常,说它无法在"B"中找到"class"成员.
返回类型(例如List < B >)是否有助于过滤对象?有任何想法吗?
提前致谢.
在查询对象上有一个“限制”方法,它仅返回给定类型的对象。 http://docs.spring.io/spring-data/mongodb/docs/current/api/index.html?org/springframework/data/mongodb/core/MongoOperations.html 我想你可以这样做:
query.restrict(B.class).findByName(...)
| 归档时间: | 
 | 
| 查看次数: | 1464 次 | 
| 最近记录: |