Spring Data Mongo:按数组交集查找

时间:2019-04-23 09:51:36

标签: java spring mongodb spring-boot spring-data-mongodb

我使用Spring Data DSL通过以下方式查询MongoDB:

Page<Member> findByCommunitiesCodeContaining(String code, Pageable pageable);

它返回具有给定代码的社区的所有成员。

问题:我需要传递一组社区代码,并从列出的代码中返回至少参与一个社区的成员(社区的交集不为空)。

我浏览了Spring Data Mongo文档,但是找不到支持这种情况的DSL。

问题:如何查询具有集合集合的记录?

更多详细信息。这是我的结构在Java方面的外观。

@Document
public class Member {
    @Id
    private String id;
    private List<Community> communities;
}

社区:

public class Community {
    private String region;
    private String code;
}

1 个答案:

答案 0 :(得分:0)

一种选择可能是使用正则表达式

Page<Member> findByCommunitiesCodeRegex(String code, Pageable pageable);

代码应为正则表达式,例如:

String code = (code1|code2|code3|....)

希望它有帮助,我没有尝试过,但是值得尝试。