查询realmObject,其中realmList等于另一个realmList

时间:2017-06-12 11:17:55

标签: android realm realm-list

我想知道是否有直接的方法来查询realmObjects,其realmList等于另一个realmList。

示例:

public class Tags extends RealmObject{
    @PrimaryKey
    private String ID = UUID.randomUUID().toString();

    private String tag;
}

public class Article extends RealmObject {
    @PrimaryKey
    private String ID = UUID.randomUUID().toString();

    private RealmList<Tags> tags;
}

RealmList<Tags> userTags;
Article article = mDB.where(Article.class).equalTo("tags", userTags).findFirst();

1 个答案:

答案 0 :(得分:1)

不,但您可以使用in query condition创建链接查询。

RealmList<Tags> userTags = ...;
Set<String> tags = new LinkedHashSet<>();
for(Tags tag : userTags) {
    ids.add(tag.getTag());
}
String[] tagArray = tags.toArray(new String[tags.size()]);
Article article = mDB.where(Article.class).in("tags.tag", tagIdArray).findFirst();