检索孩子的名字 Firebase 数据库 Swift

Posted

技术标签:

【中文标题】检索孩子的名字 Firebase 数据库 Swift【英文标题】:Retrieve childs name Firebase Database Swift 【发布时间】:2016-10-12 17:29:19 【问题描述】:

我希望检索 Firebase 数据库中某个部分的所有子项的名称。然后我想把它们放在一个数组中。


  "sVkyFjTI9yOTlOPFzUv5MvFozlh2" : 
    "groups" : 
      "group 1" : "9FA02017-172B-434B-A873-518854697CCC",
      "group 2" : "B52743E0-8441-40FB-98BA-51920F31EFE6",
      "group 3" : "1A320965-88A3-42FF-A917-0D93BE39B357"
    
  

我已经这样做了:

ref.child("user_profile").child(user!.uid).child("groups/").observeSingleEventOfType(.Value, withBlock:  snapshot in
        if !snapshot.exists()  return 
        let groupDict = snapshot.value! as? [string]
) 

但我只需要数组中的子名称(这里:'group 1'、'group 2'、'group 3')而不是它们的值。感谢您的帮助。

【问题讨论】:

您在问题中包含了 JSON 树的(链接到)图片。请将其替换为实际的 JSON 作为文本,您可以通过单击 Firebase 数据库控制台中的导出按钮轻松获取该文本。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,一般来说这只是一件好事。 除此之外:snapshot.key! 会给你物品的钥匙。 我试过了,但它不起作用!我只得到父母的名字:“groups” 啊,你想要每个孩子。使用for childSnapshot in snapshot.children print(childSnapshot.key) 循环遍历快照子节点 能否请您复制我的初始函数并添加您的更正,因为我迷路了啊哈:D。感谢您的帮助。 【参考方案1】:

我使用了这段代码,它运行良好: var ref = Firebase(url: "https://.firebaseio.com/restaurants/")

ref.child("user_profile").child(user!.uid).child("groups").observeEventType(.Value, withBlock: 
        snapshot in
        var groupNames = [String]()
        for group in snapshot.children 
            groupNames.append(group.key)
        
        print(groupNames)
    )

【讨论】:

以上是关于检索孩子的名字 Firebase 数据库 Swift的主要内容,如果未能解决你的问题,请参考以下文章

从多个孩子 Android Firebase 中检索同一个孩子

如何从孩子的 Firebase 获取数据?

有没有办法在颤振应用程序中使用firebase查找具有相同孩子名字的孩子的总数?

Swift Firebase 读取孩子的孩子

如何在firebase数据库中获取所有孩子的数据?

如何从 Firebase 检索嵌套数据?应用程序崩溃