FIREBASE数据库 – 将唯一键存储到子节点(Swift / IOS)

前端之家收集整理的这篇文章主要介绍了FIREBASE数据库 – 将唯一键存储到子节点(Swift / IOS)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图在调用childByAutoId时存储生成的唯一键.理论上,它可以帮助映射需要在我的应用程序中稍后发生的指定子项的更新或更改.

我对Firebase的分层数据库相当新,如果下面描述的方法不正确,请不要犹豫,给出替代方案.

我对Firebase很新,并且拥有一个多人应用,我的结构目前如下所示:

  1. "HTGames" : {
  2.  
  3. "-KFGX5H3rLSnpPvupakm" : {
  4. {
  5. "Red" : 1,"Green" : 3,"Blue" : 2,"GameLimit" : 1,"P1Name" : 3,"P2Name" : 2,"P3Name" : 1,"P1Points" : 3,"P2Points" : 2,"P3Points": 3,"numberOfPlayers" : 1.
  6. "gameStart": true
  7. }
  8. },"-X5Hhgljh3rLSnpPvum" : {
  9. {
  10. "Red" : 1,"numberOfPlayers" : 1.
  11. "gameStart": true
  12. }}}
  13. }

下面的Swift方法调用

  1. func startNewGame(){
  2. //Database reference object
  3. let databaseRef = FIRDatabase.database().reference()
  4.  
  5. let gaMetable : [String : AnyObject] = ["Green": "","Red": "","Blue": "","GameTypePoint": "","P1Name": "","P2Name": "","P3Name": "","P1Points": "","P2Points": "","P3Points": "","NumOfPlayers": "","GameStart": ""]
  6.  
  7. //Auto generates unique ID and creates child under "HTGame" parent
  8. databaseRef.child("HTGame").childByAutoId().setValue(gaMetable)
  9.  
  10. //**********I would like to store key locally here*********//
  11. //let key =
  12. }

解决方法

如果你保留对它的引用,你可以从新孩子那里获取钥匙:
  1. let newRef = databaseRef.child("HTGame").childByAutoId()
  2. newRef.setValue(gaMetable)
  3.  
  4. let key = newRef.key

有关此内容的更多信息,请参见保存数据指南:https://firebase.google.com/docs/database/ios/save-data#append_to_a_list_of_data

猜你在找的MsSQL相关文章