Spring 数据 - mongoDB - 获取所有包含 agentNumberContainers 的联系人

Spring data - mongoDB - get all Contacts containing agentNumberContainers

我的 Spring - mongoDB 应用程序中有一个联系人 class,如下所示:

public class Contact {

  ...
  private List<AgentNumberContainer> agentNumberContainers;   

}  

AgentNumberContainer- class 看起来像这样:

public class AgentNumberContainer implements Comparable<AgentNumberContainer> {

private String contactTenant;
private String customerNumber;

@Override
public int compareTo(final AgentNumberContainer agentNumberContainer) {
    if (agentNumberContainer.getContactTenant().equals(this.contactTenant)
        && agentNumberContainer.getCustomerNumber().equals(this.customerNumber)) {
        return 0;
    } else {
        return -1;
    }
}

现在我将在 mongodb 数据库中找到所有联系人,其中包含一个或多个我的 agentNumberContainers。因此我尝试了这个:

public interface ContactRepository extends MongoRepository<Contact, String> {

    List<Contact> findByAgentNumberContainersIn(final List<AgentNumberContainer> agentNumberContainers);

} 

但是没有找到任何东西。有人知道我该怎么做吗?

您的 AgentNumberContainer class 必须实施 equals/hashCode 进行相等性检查。