2016-01-11 37 views
0

我有一個用戶和一個Topic類每個Topic都與一個用戶相關聯。將主題中的關係設置爲用戶與僅將用戶的objectId保存爲主題中的字符串是否有意義的區別?兩者都有效,但我想知道這種關係方式是否有任何表現或其他好處。解析關係與ObjectId

回答

0

在這種情況下,您應該使用指針。因爲如果您使用這種方法,則不需要再次查詢用戶,就像您僅保存objectId字符串時所需執行的操作一樣。即使你使用的是雲代碼,爲了實現一個可靠的應用程序,你應該使用指針,這就是它的設計。

當我在解析關係的工作,我通常遵循這樣的:

  • 一對1 =指針
  • 一個一對多=指針
  • 許多一對多=關係

因此,在您的示例中,當您保存主題PFObject時,請確保將PFUser對象設置爲它。所以,如果你想將當前用戶保存爲一個主題,你可以做以下的主人:

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

這將指針設置爲保存在分析用戶。因此,您可以在檢索主題時訪問整個PFUser對象。

+0

我的問題是,這是否是一個沒有差異的區別。如果我保存用戶的objectId,我可以很容易地使用它來檢索用戶。我猜這是iOS中的更多代碼,但不是在雲代碼中(您只是使用「get」)。 – pickwick

+0

@pickwick只是對問題進行了一些更新以澄清一些細節 – adolfosrs

0

那麼區別在於你想要在你的數據之間建立關係的類型。如果將用戶objetcId存儲爲字符串,則只需創建用戶和主題之間的一對一關係(這與使用指針非常相似)

如果您使用關係,那麼您在技術上在主題可以有許多關聯用戶的情況下形成一對多的關係。關係被設計爲可擴展的,並且對於更大的數據集來說它是合適的(性能明智的)。