查找所有父级 id 为 X 的子领域对象

Find all child realm objects where the parent's id is X

在此 example 中,文档讨论了在为子对象指定查询时获取父对象。

有没有办法在为父对象指定查询的同时获取子对象?

在给定的示例中,我可以搜索名为 John 的棕色狗吗?

编辑: 从 Realm 3.5.0 开始,您实际上可以使用评论部分提到的 "backlinks"。高兴!

其实从Realm 3.0.0开始,双向links是性能瓶颈,所以使用backlinks是首选方式

它的工作方式是:

public class User extends RealmObject {
    private RealmList<Dog> dogs;
}

public class Dog extends RealmObject {
    @LinkingObjects("dogs")
    private final RealmResults<User> owners = null;
}

现在您可以:

realm.where(Dog.class).equalTo("color", "Brown").equalTo("owners.name", "John").findAll();

旧答案:

如果您有对象 link 给用户,您只能使用给定的 user 搜索 dogs

public class Dog extends RealmObject {
    //...
    private User user;
}

那你可以

realm.where(Dog.class).equalTo("color", "Brown").equalTo("user.name", "John").findAll();