2014-10-06 54 views
3

據我所知,可能使用指針數組的唯一原因是保持排序,因爲PFRelation實例不支持排序。否則,它們表現出相同的行爲,儘管PFRelation具有更高的可伸縮性,並且還有一個漂亮的內置「查詢」方法來將查詢僅限制在PFRelation實例中的對象,這有時候非常有用。我應該使用指針數組還是PFRelation? (parse.com)

PFRelation *relation = ... 
PFQuery *query = [relation query]; 

上下文:我建立,其中每個PFUser實例有許多TennisGame實例的應用程序(可能是一個大的數字),並且TennisGame實例有許多PFUser實例(2或4,這取決於是否這是一場單打比賽或雙打比賽)。

問題:在parse.com上組織我的數據的最佳方式是什麼?我正在考慮在我的PFUser類(對TennisGame實例)中使用PFRelation,以及在我的TennisGame類(對PFUser實例)中的數組或2或4個指針。但是我需要兩個嗎?如果不是,哪個最好?

回答

9

問題是關於你如何訪問你的數據。對於您的情況,您可以考慮以下問題:

  • 您是否需要在獲得用戶時包含用戶的TennisGames?如果是,則陣列在查詢上支持include。你不能與include關係,你需要做一個更多的查詢來訪問用戶的TennisGames。
  • 用戶最多可以有多少個TennisGames?如果它可能超過100(建議由Parse限制),最好是與關係一起去。因爲數組不能伸縮到較大的關係。
  • 正如你指出的那樣,這個順序對你來說很重要嗎?如果是,陣列支持訂單。
  • 又如您所說,如果您對數據子集感興趣,則關係可以限制查詢,而數組不是。

我建議你看看this video關於來自Parse developer days的Parse關係。

此外,你不需要保持雙方的關係。這會使創建和更新它們變得更加複雜。

+0

謝謝knshn。我有一個觀點,我需要加載用戶的遊戲,按日期排序。因此,PFRelation似乎是實現這一目標的最簡單方法。但另一種方法是使用'whereKey:@「players_array」equalTo:[PFUser currentUser]'查詢整個TennisGame類,並且我不確定當可能有成千上萬個TennisGame實例時效率太低 – 2014-10-07 14:12:24

+1

如果你發現此頁面,強烈建議您查看視頻,非常全面 – ObjectiveTruth 2015-07-06 16:06:38

相關問題