【发布时间】:2018-07-26 14:45:34
【问题描述】:
我的情况是,我必须将属于多个实体的数据存储在一个集合中。但是当我查询回来时,我不希望结果中有不需要的记录。我们如何使用弹簧来实现这一点?以下是我到目前为止所做的。
1.我在实体中给出了相同的集合名称,如下所示。
@Document(collection = "livingThings")
@Data
public class AnimalEntity {
//contains id, type, bla, bla
}
@Document(collection = "livingThings")
@Data
public class HumanEntity {
//contains id, gender, address
}
2。我创建独立的 mongoRepository 接口
public interface AnimalRepository implements MongoRepository<AnimalEntity, String> {
}
public interface HumanRepository implements MongoRepository<HumanEntity, String> {
}
3.而问题是
当我执行animalRepo.findAll 或humanRepo.findAll 时,我会得到集合中所有可用的记录。
4.我的期望
animalRepo.findAll 仅返回文档结构与 AnimalEntity 相同的那些记录。
非常感谢您抽出宝贵的时间和耐心参加本次提问。
【问题讨论】:
-
你试过animalRepo.findAll。默认情况下,它只返回您在 Entity 类中映射的字段。
-
是的,我试过了。它还没有奏效。我想弄清楚它是否需要任何额外的配置才能按照您提到的方式运行。
标签: java mongodb spring-data-mongodb