Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 如何在不知道路径的情况下从firebase获取所有子数据_Swift_Firebase_Firebase Realtime Database - Fatal编程技术网

Swift 如何在不知道路径的情况下从firebase获取所有子数据

Swift 如何在不知道路径的情况下从firebase获取所有子数据,swift,firebase,firebase-realtime-database,Swift,Firebase,Firebase Realtime Database,我的数据结构如下所示: ref.observeSingleEvent(of: .value) { snapshot in for case let user as FIRDataSnapshot in snapshot.children { print(user.childSnapshot(forPath: "email").value) } } 我希望能够访问每个用户的列表,以创建所有列表的数组,但我不知道每个用户ID或列表ID,因此我无法执行以下操作: D

我的数据结构如下所示:

ref.observeSingleEvent(of: .value) { snapshot in
    for case let user as FIRDataSnapshot in snapshot.children {
        print(user.childSnapshot(forPath: "email").value)
    }
}

我希望能够访问每个用户的列表,以创建所有列表的数组,但我不知道每个用户ID或列表ID,因此我无法执行以下操作:
Database.Database().reference.child(“用户”).child(uid)…
,因为它不仅仅针对一个uid。如果从firebase中提取时有方法“跳过”
.child(uid)
.child(listingID)

如果要检索所有用户的所有数据,可以将观察者连接到整个
/users
节点。这将为您提供完成处理程序中所有数据的快照,然后您可以循环该快照的子项以获取每个用户

大概是这样的:

ref.observeSingleEvent(of: .value) { snapshot in
    for case let user as FIRDataSnapshot in snapshot.children {
        print(user.childSnapshot(forPath: "email").value)
    }
}
您可以使用类似的循环进一步深入快照的数据,并更多地调用
childSnapshot(forPath
:以查找特定属性


另请参见我一小时前给出的答案和

Database.Database().reference.observe(DataEventType.value){(snapshot)in if snapshot.childrenCount>0{对于snapshot.children.allObjects中的项目,将其作为![DataSnapshot]{let object=items.value as![String:AnyObject]let email=object[“email”]as!String}}谢谢,弗兰克,这正是我想要的