我正在尝试使用CloudKit创建标记系统。 我有一个名为Article的类型和一个名为Tag的标签类型。 每篇文章都可以应用多个标签。我希望我的数据能够正常化,因为相同的标签可以出现在几篇文章中,文章可以有多个标签,我需要一个多对多的关系。 在旧式的DB-stuff中,这需要一个联结表。
你如何在CloudKit中做到这一点?
在任何Apples文档中,我只能找到一对多关系的例子。
所以我创建了一个名为ArticleTag的联结表类型,它包含两个CKReferences。一个用于文章参考,一个用于标记参考。
这应该有用,但每篇文章查询标签的最佳方法是什么?
亲切的问候, Esben
答案 0 :(得分:5)
目前没有任何机制可以像传统的关系数据库那样在CloudKit中“加入”查询,但是您应该能够通过在文章中使用“参考列表”类型的字段来完成您想要的任务。我们假设如下:
然后,您可以使用标记字段中的ID查找文章的标记,并且您可以使用标记记录ID和使用CONTAINS操作检查的CKQuery谓词来查找标记有特定标记的所有文章列表会员资格。