1

我想在领域(java)中构建一个满足此条件的查询:所有具有类型 X 和名称如 Y 的标签的书籍。这里是我的领域类:

class Book extends RealmObject {

    public RealmList<Tag> tags;

    public int fileType;

    public String title;
}

class Tag extends RealmObject {

    public Book book;

    public int type;

    public String name;
}

我必须使用基于 Book 的查询,所以查询必须像这样开始:

realm.where(Book.class)

但是我无法根据需要构建查询。我试过这个:

realm.where(Book.class)
  .equalTo("tags.type", X)
  .contains("tags.name", Y)
  .findAll();

这个查询意味着任何它的 tags.type 等于 X 并且它的任何 tags.name 包含 Y 的书。

但我想将这两个条件应用于同一个 Tag 对象。

我怎样才能做到这一点?

谢谢。

4

1 回答 1

3

链接查询可能有点难以理解,但我们在这里有一个完整的示例和解释:https ://realm.io/docs/java/latest/#link-queries

在您的情况下,您需要将其重写为:

realm.where(Book.class)
  .equalTo("tags.type", X)
  .findAll().where()
  .contains("tags.name", Y)
  .findAll();
于 2016-10-04T11:50:14.860 回答