我正在使用Realm Swift。我有一个充满Document
个对象的数据库,每个对象都有List
个Tag
个对象存储为属性。给定一个或多个标记,如何获得匹配的Document
个对象集?
我的第一个想法是使用NSPredicate SUBQUERY
进行过滤,但它显示为that isn't supported yet。
我还想我可以在所有已标记它的Tag
个对象的每个Document
对象上维护一个列表,然后加入每个选定Tag
的列表。但我也没有办法在Realm中做到这一点。
答案 0 :(得分:2)
你的领域模型应该是这样的,
class Document:Object{
let tags = List<Tag>()
//...
}
然后您可以使用ANY
关键字
let realm = Realm()
var documentsFilteredByTag = realm.objects(Document).filter("ANY tags.id = '\(tagID)'")