2016-04-14 5 views
1

FalcorとFalcorルータでスポーツシーズンの統計を取得するには、どのような方法が最適ですか?このように見える季節のデータを出力するためのFalcorでシーズン統計を取得する

マイデータソース:

{ id: 'recNMJfs4sqiJshna', 
    fields: { 
    Wins: 23, 
    Losses: 51, 
    Team: [ 'reckEYqAz3r8pUtUg' ], 
    ... 
} 

私のIDはGUIDがあると私は季節のGUIDを返すteamsByIdルートの作業を持っています。

seasonIndex[0..10][year] or [seasonIndex[0..10]["2016"] 

私はシーズンのデータソースにあるデータを選択することができます。しかし、私はこのようになりseasonsIndexルートを作成しようとしている重複したルートと多くのコードを試してみて、防ぐために特定の年。私はこのような出力を作成することができます願って:私は、トラブルのルートを考え出すてきたんだ

seasonIndex: { 
    teamGuid: { 
     2016: { 
     Wins: 23, 
     Losses: 51, 
     ... 
     }, 
     2015: { 
     ... 
     } 
    }, 
    ... 
}, 
teamById: { 
    teamGuid: { 
     Name: Team Name 
    } 
} 

私はこのモデルの応答を構築する必要があります。別のシーズンのデータソースからデータを取得してユニークなチームガイドに関連付けて、Wins、Losses、Winning Percentageなどのシーズンデータで特定の値を参照できるようにする方法が不明なためです。

答えて

1

公開するフィールドごとにルートを構築する必要があります。例えば、winsフィールド用:

{ 
    route: "seasonIndex[{keys:teams}][{keys:years}].wins", 
    get(pathSet) { 
     const results = [] 
     for (team of pathSet.teams) { 
      for (year of pathSet.years) { 
       const wins = ... // get the wins for that team and year from the data source 
       results.push({ 
        path: ["seasonIndex", team, year, "wins"], 
        value: wins 
       }) 
      } 
     } 
    } 
} 

winsためのルートとlossesのためのルートは、おそらく同様の終わるしようとしているので、あなたがそうのようにそれらを折りたたむことができるかもしれません:

{ 
    route: "seasonIndex[{keys:teams}][{keys:years}][{keys:property}]", 
    get(pathSet) { 
     const results = [] 
     for (team of pathSet.teams) { 
      for (year of pathSet.years) { 
       for (property of pathSet.properties) { 
        const value = ... // get the value of the property for that team and year from the data source 
        results.push({ 
         path: ["seasonIndex", team, year, property], 
         value 
        }) 
       } 
      } 
     } 
    } 
} 
関連する問題