【问题标题】:How to get all data from one child in Firebase using Swift如何使用 Swift 从 Firebase 中的一个孩子那里获取所有数据
【发布时间】:2016-06-19 02:35:00
【问题描述】:

如何在不知道用户 ID 的情况下获取数据库中所有项目的子电子邮件值?

我试过这个:

var userRef = Firebase(url:MY_FIREBASE_URL)
    userRef.child("email").observeSingleEventOfType(
       .Value, withBlock: { (snapshot) -> Void in

            for child in snapshot.children {

                let childSnapshot = snapshot.childSnapshotForPath(child.key)
                let someValue = childSnapshot.value!["key"] as! String
                print("value \(someValue)")
            }
    })

还有许多其他变体,但似乎没有任何效果。看起来 XCode 只是一起跳过了代码。

【问题讨论】:

  • 我正在查找所有电子邮件地址的列表

标签: swift firebase firebase-realtime-database


【解决方案1】:

通过使用observeEvenType方法,你可以在不知道用户ID的情况下获取所有的“email”值

 databaseRef = FIRDatabase.database().reference()
 let userRef = self.databaseRef.child("users")
 userRef.observeEventType(.ChildAdded, withBlock: {(snapshot) in
 let email = snapshot.value?["email"] as! String

【讨论】:

  • 感谢您的回复。我希望他在我按下按钮时发生。当我输入此代码时,代码永远不会运行。这就像代码被跳过了我如何让这段代码执行?
【解决方案2】:

您已阅读完整的树以获取所有数据,而不是您可以优化键和值。

ref.child("users").observeSingleEvent(of: .value) { (snapshot) in
        print(snapshot.key)
        print(snapshot.value)
    }

这将立即为您读取完整的树。

【讨论】:

    猜你喜欢
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多