在iOS上的Swift的Parse.com API参考中,非常清楚,何时基于“多面”的预期大小使用不同类型的“一对多”关系。
但是当双方都可能非常大时,我不清楚使用哪种多对多关系。
[在我的情况下,我有一个Charity
对象,我的Users
可以做出很小的贡献(通常是一美元),因此每个User
可以做出成千上万个这样的贡献,而每个Charity
可以做出有成千上万的Users
对此做出贡献。
为这类事情列出的多对多选项是解析关系,联接表和数组,文档对此进行了解释:
Books
与多个Authors
和Authors
与多个Books
连接-在这种情况下,给定的Book
不可能超过100 Authors
,并且很少有Author
的个数超过100 Books
,因此目前尚不清楚[时是否合适(如我的情况)。不应该
,而并非出于文档说我应该。似乎是一个脆弱的理由。我将非常感谢任何人都可以提供的任何指导。
关系的缺点是无法向它创建的此“联合表”添加新字段。因此,例如,如果您需要存储每个用户喜欢的慈善机构,则User和Charity之间的关系将非常适合,因为您只需要存储该关系存在而无需存储任何额外的关系信息。
[另一方面,如果您需要存储每个用户对每个慈善机构的捐赠,我将创建一个名为Donation或UserCharity的联合表,其中包含一个指向User类的指针,一个指向Charity类的指针,以及捐赠的价值。在这种情况下,Relation不适合,因为您需要存储捐赠值。