加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:07:48 所属栏目:MsSql教程 来源:网络整理
导读:我试图在调用childByAutoId时存储生成的唯一键.理论上,它可以帮助映射需要在我的应用程序中稍后发生的指定子项的更新或更改. 我对Firebase的分层数据库相当新,如果下面描述的方法不正确,请不要犹豫,给出替代方案. 我对Firebase很新,并且拥有一个多人应用,我的
我试图在调用childByAutoId时存储生成的唯一键.理论上,它可以帮助映射需要在我的应用程序中稍后发生的指定子项的更新或更改.

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

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

"HTGames" : {

"-KFGX5H3rLSnpPvupakm" : {
  {
    "Red" : 1,"Green" : 3,"Blue" : 2,"GameLimit" : 1,"P1Name" : 3,"P2Name" : 2,"P3Name" : 1,"P1Points" : 3,"P2Points" : 2,"P3Points": 3,"numberOfPlayers" : 1.
    "gameStart": true
  }
},"-X5Hhgljh3rLSnpPvum" : {
  {
    "Red" : 1,"numberOfPlayers" : 1.
    "gameStart": true
  }}}
}

下面的Swift方法调用…

func startNewGame(){
//Database reference object
    let databaseRef = FIRDatabase.database().reference()

    let gameTable : [String : AnyObject] = ["Green": "","Red": "","Blue": "","GameTypePoint": "","P1Name": "","P2Name": "","P3Name": "","P1Points": "","P2Points": "","P3Points": "","NumOfPlayers": "","GameStart": ""]

//Auto generates unique ID and creates child under "HTGame" parent
    databaseRef.child("HTGame").childByAutoId().setValue(gameTable)

//**********I would like to store key locally here*********//
    //let key =
}

解决方法

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

let key = newRef.key

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读