Firebase根据Swift中另一个节点的信息从节点检索数据

时间:2017-06-08 21:06:59

标签: ios swift firebase firebase-realtime-database

我正在开发一个体育应用程序,我正在调查Firebase是否/如何处理我需要的数据和关系。

用户登录应用程序并转到仪表板,该仪表板列出了他参与的所有池。

Firebase中的当前数据结构是:

  {
  Game:
     78765: {
          teamA: 'New York',
          teamB: 'Montreal',
          date:  '20170601',
          etc...
     },
     76421: {
          teamA: 'LA',
          teamB: 'Mexico',
          date:  '20170602',
          etc...
     }
  },
  {
  Pool: 
     12345: {
          GameID: 78765,                      <- GameId from above
          PoolName: 'MyPool',
          Owner: 'LpWgezRkC6EWS0sjXEWxhFl2'   <- UserId
          etc...
     }
  },
  {
  PlayerInPool: {
      DUmwewIfzAbfWZN4NjS8mhX82   <- UserId
          12345: true             <- PoolId from above
      LpWgezRkC6EWS0sjXEWxhFl2    
          12345: true       
      etc...              
      }
  }

如何提取池信息以显示在用户仪表板上?

UICollectionView中每个单元格中需要显示的是池信息(PoolName和PoolOwner),其中包含TeamA和TeamB名称等游戏信息以及游戏日期。

1 个答案:

答案 0 :(得分:0)

可以使用firebase。我对编程很新,我很快就抓住了。当你想到你的结构时会想到JSON,并且它们会鼓励你让它尽可能地平坦(而不是很多嵌套)。祝好运!这是你的结构可能是什么样子的一个想法。

"GameTitle":{
        “PlayerInPool":{ 
             "PoolID":"12345",
            “UserID”:“email@address.com”,
            “Status”:“Active”
            }
        “Pool":{ 
             "PoolID":"12345",
            “PoolName”:“myPoolName”,
            “GameID”:“547324”
            }
        “Game":{ 
             "PlayerID1":"43623",
            “PlayerID2”:“23567”,
            “GameID”:“myGame”,
            “GameName”:“myGame12345”
            }
    }