Firebase/Swift : childSnapshotForPath access autoID data?

标签 firebase firebase-realtime-database snapshot

我目前正在努力访问存储在路径中的其他数据,更具体地说是子文件夹中的数据。我的设置如下所示:

userID{
    username:Andreas,
    gender:Male,
    age:18,
    footballTeams{
       Team1{
           name:My team 1
           matchesPlayed:3
       }
    }
}

所以我目前正在运行此代码来获取用户名、性别和年龄:

ref.child("Users").observeEventType(.ChildAdded, withBlock: { (snapshot1:FIRDataSnapshot) in                   
      //code goes here..
      var username = String(snapshot1.value!["username"] as! String)
      var gender = String(snapshot1.value!["gender"] as! String)
      var age = Int(snapshot1.value!["age"] as! Int)                  
})

但是,我想获取 FootballTeams 路径中存储的所有球队名称,顺序为“Team1、Team2、Team3”等。所以我偶然发现了“snapshot1.childSnapshotForPath("footballTeams/Team1").value !["名称"]"。然而,只要我知道每个团队名称路径的确切名称,这就会起作用,但这会存储为自动 ID。关于如何解决这个问题有什么想法吗?

提前致谢。

最佳答案

当您选择使用 childSnapshotForPath 时,您的选择是正确的。您只需获取 /footballTeams 分支快照并迭代它即可获取每个子项。

ref.child("Users").observeEventType(.ChildAdded, withBlock: { (snapshot1:FIRDataSnapshot) in                   
      var username = String(snapshot1.value!["username"] as! String)
      var gender = String(snapshot1.value!["gender"] as! String)
      var age = Int(snapshot1.value!["age"] as! Int)
      if let footballTeamsSnapshot = snapshot1.childSnapshotForPath("footballTeams") as? FIRDataSnapshot {
        for child in footballTeamsSnapshot.children.allObjects as [FDataSnapshot] {
            print(child.value)
        }
      }         
})

关于Firebase/Swift : childSnapshotForPath access autoID data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38055107/

相关文章:

javascript - 我需要一种方法来打破这个循环或者一种替代方法来做到这一点

java - 如何使用 Firebase 查询的结果最终填充 Android Studio 中的 ListView

firebase - 如何减少 Firebase Cloud Firestore 上的读取操作?

hadoop - 如何在HDFS中删除快照?

javascript - Firebase 存储不返回 downloadURL

Firebase 和 Google OAuth 同意屏幕

node.js - 使用 Cloud Functions 和 Firestore 的 Firebase 动态页面速度很慢

Android - Firebase - getChildrenCount() 方法问题

javascript - Firebase 函数 - 在用户获取中获取实时数据库后返回

swift - 如何在应用程序中搜索用户? (最具成本效益的方式)在 Firebase 中