java—通过spring数据查询mongodb中dbref中的单个字段

of1yzvn4  于 2021-07-06  发布在  Java
关注(0)|答案(0)|浏览(217)

我想知道是否有可能查询dbref对象的内部字段,或者是否有其他解决方法来实现这一点。我正在使用mongo的spring数据。这类似于在sql中使用join进行查询。
假设我有两个集合,其中一个包含指向另一个的dbref列表:
公司

{
    id: someId
    industry: someIndustry
    employees: a list of DBRefs to Employee
}

雇员

{
    id: someId, 
    title: someTitle, 
    location: someLocation
}

我想做一个查询,在那里我对公司进行搜索,并返回一个公司的名单,其中有一个类似“洗碗机”的职位的员工。实际上,我并不关心员工列表是否经过筛选,只包括那些有头衔的员工。我只关心的是,只有那些拥有这个头衔的员工的公司才会被列入名单。
我知道我可以单独在employee集合上进行搜索,但是在我的用例中,我有一个端点,在这里我提供了对公司的搜索功能,比如按公司名称搜索,公司行业等,我只是想添加到这个现有的端点,基本上搜索的公司谁有一个头衔xyz的员工,但由于我们有吨的公司(超过28万),我们正在利用分页来提高性能。
如果我错了,请纠正我的错误,但我认为,如果我将此分为两个查询,首先搜索标题为“dishchiner”的员工,然后使用收到的id根据查询1返回的company.employee dbref id=id搜索公司,我需要1。在根据员工ID搜索公司之前,先在内存中查询并存储所有员工ID,然后该结果将成为我对公司的分页结果?这似乎是一个相当黑客的方式做它,更不用说它似乎非常昂贵,不完全可扩展。
我还有别的选择吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题