我的数据结构如下:
我希望能够访问每个用户列表,使所有列表组成一个数组,但是我不知道每个用户的ID或列表ID,所以我不能这样做:
Database.database().reference.child("users").child(uid)......
,因为它不仅用于一个UID。从firebase提取时是否有办法“跳过” .child(uid)
和.child(listingID)
?
答案 0 :(得分:1)
如果要检索所有用户的所有数据,则可以将观察者附加到整个/users
节点。这将为您提供完成处理程序中所有数据的快照,然后您可以循环访问该快照的子级以获取每个单独的用户。
类似这样的东西:
ref.observeSingleEvent(of: .value) { snapshot in
for case let user as FIRDataSnapshot in snapshot.children {
print(user.childSnapshot(forPath: "email").value)
}
}
您可以使用类似的循环进一步深入了解快照的数据,并更多地调用childSnapshot(forPath
:以查找特定属性。
还可以看到我一个小时前给出的答案here和How do I loop all Firebase children at once in the same loop?和Looping in Firebase