通过匹配标记来过滤Realm数据库

时间:2015-08-07 03:34:01

标签: ios swift realm

我正在使用Realm Swift。我有一个充满Document个对象的数据库,每个对象都有ListTag个对象存储为属性。给定一个或多个标记,如何获得匹配的Document个对象集?

我的第一个想法是使用NSPredicate SUBQUERY进行过滤,但它显示为that isn't supported yet

我还想我可以在所有已标记它的Tag个对象的每个Document对象上维护一个列表,然后加入每个选定Tag的列表。但我也没有办法在Realm中做到这一点。

1 个答案:

答案 0 :(得分:2)

你的领域模型应该是这样的,

class Document:Object{
    let tags = List<Tag>()
    //...
}

然后您可以使用ANY关键字

按标记过滤文档
let realm = Realm()
var documentsFilteredByTag = realm.objects(Document).filter("ANY tags.id = '\(tagID)'")