【问题标题】:How to get all child data from firebase without knowing the path如何在不知道路径的情况下从 firebase 获取所有子数据
【发布时间】:2019-06-18 00:44:41
【问题描述】:

我的数据结构是这样的:

我希望能够访问每个用户列表以制作所有列表的数组,但是我不知道每个用户 ID 或列表 ID,所以我不能这样做: Database.database().reference.child("users").child(uid)...... 因为它不仅仅适用于一个 UID。从firebase拉出时是否有办法“跳过”.child(uid).child(listingID)

【问题讨论】:

  • Database.database().reference.observe(DataEventType.value) { (snapshot) in if snapshot.childrenCount > 0 { for items in snapshot.children.allObjects as! [DataSnapshot] { 让 object = items.value as! [String: AnyObject] 让 email = object["email"] as!字符串 } } }

标签: swift firebase firebase-realtime-database


【解决方案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: 以查找特定属性。

另请参阅我在一小时前给出的答案 hereHow do I loop all Firebase children at once in the same loop?Looping in Firebase

【讨论】:

  • 谢谢弗兰克,这正是我想要的
猜你喜欢
  • 2018-10-26
  • 2017-08-24
  • 1970-01-01
  • 2019-07-05
  • 2018-01-18
  • 2020-03-13
  • 2023-02-09
  • 1970-01-01
  • 2018-12-01
相关资源
最近更新 更多