Ios CloudKit修改记录是否按用户筛选?

Ios CloudKit修改记录是否按用户筛选?,ios,swift,icloud,cloudkit,Ios,Swift,Icloud,Cloudkit,我正在为存储在CloudKit中的记录创建一个投票系统。 每个记录都存储有投票总数。我希望每个用户只能对每条记录投票一次 是否有办法查询给定用户未修改的给定类型的所有记录 如果这是不可能的任何聪明的建议,这个问题 我希望避免将记录的id存储在用户记录上,因为随着用户投票活动和记录总数的增加,这将导致伸缩性差 一个选项是将CKReferences数组存储为每个记录的属性,CKReferences指向用户。然后,您可以在votingUserReferences中使用类似user的谓词进行查询。但不确

我正在为存储在CloudKit中的记录创建一个投票系统。 每个记录都存储有投票总数。我希望每个用户只能对每条记录投票一次

是否有办法查询给定用户未修改的给定类型的所有记录

如果这是不可能的任何聪明的建议,这个问题


我希望避免将记录的id存储在用户记录上,因为随着用户投票活动和记录总数的增加,这将导致伸缩性差

一个选项是将CKReferences数组存储为每个记录的属性,CKReferences指向用户。然后,您可以在votingUserReferences中使用类似user的谓词进行查询。但不确定这将如何扩展

另一个可能更好的选择是拥有一个投票记录类型,该类型包含对用户的引用和对记录的引用。如果将这些投票记录的记录id构造为用户id和记录id的串联,则应该能够非常快速地获取给定用户和记录的投票

以这种方式设置投票记录id的另一个优点是,如果用户已经对该记录进行了投票,而您试图创建一个新的投票,则会出现错误,因为记录id必须是唯一的