解析关系与ObjectId

时间:2016-01-11 22:43:06

标签: ios parse-platform

我有一个用户和一个主题类每个主题都与一个用户相关联。在主题与用户之间设置关系与仅将用户的objectId保存为主题中的字符串之间是否存在有意义的区别?两者都有效,但我想知道关系方法是否有任何表现或其他好处。

2 个答案:

答案 0 :(得分:0)

在这种情况下,您应该使用指针。因为如果你使用这种方法,就不需要再次查询用户,就像你只需要保存objectId字符串一样。即使您使用的是Cloud-Code,为了获得可靠的应用程序,您也应该使用Pointers,就像它的设计方式一样。

当我在解析中处理关系时,我通常会这样做:

  • 一对一=指针
  • 一对多=指针
  • 多对多=关系

因此,在您的示例中,当您保存Topic PFObject时,请确保将PFUser对象设置为它。因此,如果要将当前用户保存为主题的所有者,可以执行以下操作:

newTopic["owner"] = PFUser.currentUser()
newTopic.saveInBackgroundWithBlock {
....

这将设置指向解析时保存的用户的指针。因此,在检索主题时,您将可以访问整个PFUser对象。

答案 1 :(得分:0)

不同之处在于您希望在数据之间建立关系的类型。如果将用户objetcId存储为字符串,则只需在用户和主题之间创建一对一关系(这与使用指针非常相似)

如果您使用关系,那么您在技术上形成了一对多关系,其中主题可以包含许多关联用户。关系设计为可扩展的,对于更大的数据集而言它是合适的(性能明智的)。