假设我有课:

public class Company extends RealmObject {

    private String companyId;
    private RealmList<CompanyMember> companyMembers;

}

类公司成员的外观如下:
public class CompanyMember extends RealmObject {

    private String id;
    private String name;

}

使用域中的单个查询,是否可以基于companymember对象的“name”字段搜索特定company对象的“companymember s”列表?
例如,搜索company 123的companymember列表以查找名称包含“abc”的所有companymember,并返回这些匹配的companymember的列表。
目前,我正在从realm检索整个公司,并迭代搜索成员列表以查找匹配项,但这似乎不是最好的方法。

最佳答案

是的,就像这样:

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

07-24 14:43