决定是否在iOS照片共享应用程序中使用Parse.com的一对多、多对多或一对一关系

决定是否在iOS照片共享应用程序中使用Parse.com的一对多、多对多或一对一关系,ios,many-to-many,parse-platform,one-to-many,one-to-one,Ios,Many To Many,Parse Platform,One To Many,One To One,我正在使用Parse.com为iPhone创建一个照片共享应用程序,到目前为止一切都很简单,我刚刚完成了将照片上传到Parse服务器的代码 到目前为止,我一直在使用默认的“\u User”类。以下是为每个用户存储的一些关键数据类型:objectId、username、email和一个名为“friends”的数组对象,该数组对象包含用户添加到其好友列表中的数据库中其他用户的用户名 现在,我需要设置用户之间的实际共享功能。我已经阅读了解析文档,需要决定是使用一对多、多对多还是一对一关系。根据我最终选

我正在使用Parse.com为iPhone创建一个照片共享应用程序,到目前为止一切都很简单,我刚刚完成了将照片上传到Parse服务器的代码

到目前为止,我一直在使用默认的“\u User”类。以下是为每个用户存储的一些关键数据类型:objectId、username、email和一个名为“friends”的数组对象,该数组对象包含用户添加到其好友列表中的数据库中其他用户的用户名

现在,我需要设置用户之间的实际共享功能。我已经阅读了解析文档,需要决定是使用一对多、多对多还是一对一关系。根据我最终选择的是哪一个,我需要决定是使用指针、数组、解析关系还是连接表

我将快速解释我试图实现的“共享”功能:

  • 对于我的照片应用程序,user1通过拍摄照片并选择将其发送给好友列表中名为user2的好友来启动“关系”

  • 然后将照片上载到Parse并发送到user2

  • user2从user1接收照片

  • 用户2打开照片,他们的工作是使用应用程序的编辑工具,在原始照片上随机绘制一些东西来“完成”关系。示例:user2在照片中user1的脸旁边画了一颗心

  • 当user2完成时,最后一张照片将保存到他们的个人资料中,并发送回原始发件人user1,“关系”现在完成并完成/关闭

  • 在阅读了文档并进行了自己的研究之后,我得出结论,我需要使用连接表使用多对多关系,以便可以包含元数据


    然而,我对objective-c和编程一般来说都是新手,如果我在开始之前没有征求意见和建议,那我就太懒了,因为我可能选择了错误的解决方案或不必要的解决方案。

    你的问题更多的是关于数据库管理,而不是关于Obj-c的任何问题

    考虑在数据库中使用一个名为
    SharedImage
    的新类,该类承载图像、指向发起者和接收者的链接(1对1,因此可以使用指针或关系)以及您需要的任何其他数据

    现在,您可以根据需要创建这些对象,并且可以使用当前用户根据查询获取它们


    另外,对于您现有的
    好友
    数组,您说该数组包含好友的用户名-最好存储好友的
    objectId
    s,而不是用户名(因为用户名通常可以更改,但objectId是静态的)。

    感谢您的回复。你知道吗,我想存储朋友的objectId而不是用户名,我想用指针来实现这一点,但我就是搞不清楚。我可以通过抓取当前用户成功创建指针,但只能获取objectId作为文本字符串存储。objectId作为字符串的数组应该可以查询。不过,您可以使用指针数组:以下是让我感到困惑的地方。如果用户登录,我获取他们的objectId,然后我想找到所有连接到他们objectId的照片,这意味着我必须扫描解析中的每个“照片”条目,以查看他们的objectId是否附加到它。如果我的服务器中有数以百万计的照片条目,那么这不会永远吗?在parse的原始示例代码中,它们使用了指针,但当前的指导是使用关系。不过,您需要询问他们有关可伸缩性和预期性能的问题……不过,一般来说,一旦数据库中有数百万个条目,指向objectId的指针对性能的影响要比数组的性能好,对吗?因为不是这样吗?用户登录后,您只需将所有数据“指向”当前用户的objectId,而不是用户登录,然后扫描数据库中的每个条目,查看数组是否包含objectId。