如何在数据快照中提取节点的子节点

时间:2016-10-17 04:17:59

标签: ios swift firebase firebase-realtime-database

我的火力基地设置如下:

Parent_node:{
    Type:{
        1476663471800:{ //This is a timestamp = Int64(date.timeIntervalSince1970 * 1000.0) 
            uid: USERS_UID;
        }
    }
}

我如何访问用户uid?我尝试了以下代码,但它没有提取UID

self.databaseRef.child("Parent_node/\(Type)").queryLimitedToLast(5).observeEventType(.Value, withBlock: { (snapshot) in

   print(snapshot)
   if let userDict = snapshot.value as? [String:AnyObject]{
        for each in userDict{
            let uidExtraced = each
            print(uidExtraced)
            //("1476663471700", [uid: USERS_UID])

1 个答案:

答案 0 :(得分:3)

首先使用snapshot.value?.allValues获取值并解析它...

  if snapshot.exists() {
     for value in (snapshot.value?.allValues)!{
          print(value) // you get [uid: USERS_UID] here

          // ... parse it to get USERS_UID
          print("user_id -- \(value["uid"])")
      }
  }
  

使用这种方法,孩子的顺序可能不同。对于有序节点,您可以使用snapshot.child