如何在单个查询中搜索RealmObject的RealmList字段

时间:2017-04-24 09:09:11

标签: java android database realm

说我有课:

public class Company extends RealmObject {

    private String companyId;
    private RealmList<CompanyMember> companyMembers;

}

CompanyMember类的位置如下:

public class CompanyMember extends RealmObject {

    private String id;
    private String name;

}

是否可以使用领域中的单个查询,根据CompanyMember对象的“名称”字段搜索特定公司对象的“companyMembers”列表?

例如,搜索公司123的所有CompanyMember的CompanyMember列表,其名称包含'abc',并返回这些匹配的CompanyMembers的列表。

目前我正在从Realm检索整个公司并迭代搜索成员列表以获得匹配,但这似乎不是最佳方式。

1 个答案:

答案 0 :(得分:4)

是的,就像这样:

Company company = realm.where(Company.class).equalTo("companyId", "123" ).findFirst();
RealmList<CompanyMember> companyMembers = company.getCompanyMembers();
RealmResults<CompanyMember> filteredMembers = companyMembers.where().contains("name", "abc").findAll();