【问题标题】:Grabbing information out of a query with Firebase and Swift [duplicate]使用 Firebase 和 Swift 从查询中获取信息 [重复]
【发布时间】:2016-06-23 07:37:01
【问题描述】:
 var usernameEntered = self.textField.text!
 var databaseReferenceQuery = DataService.ds.REF_USERS.queryOrderedByChild("username").queryEqualToValue(usernameEntered).observeSingleEventOfType(.Value, 
    withBlock: { (snapshot) in

        if ( snapshot.value is NSNull ) {

        } else {
            print(snapshot.key)
            print(snapshot.value.)
        }
    }, withCancelBlock: { (error) in
            // An error occurred
    })
}

这就是我所拥有的。

我的 firebase 数据库设置如下:

Users
    20394802938lsjfkjaweli (the uid)
         username: Bob
    0skjflakjlkwjf93j09
         username: Bobby

通过运行该查询,我正在搜索用户名并检查它是否等于输入到文本字段中的内容。

当我执行 print(snap.value) 之类的操作时,我会得到“用户名:(如果与用户名匹配,我在文本字段中输入的任何内容)

我需要的是能够获取与该用户名关联的用户 ID。

使用 snapshot.key 为我提供了“用户”。我如何获得低于该级别的一级?

【问题讨论】:

  • 100% 复制到 t。我的错,谢谢你的发现!

标签: ios swift firebase firebase-realtime-database


【解决方案1】:
 for child in snapshot.children {
  let key = child.key as String
  print("this key \(key)")

获取返回的快照并将变量 key 设置为孩子的 key,在本例中为 UID,

【讨论】:

    猜你喜欢
    • 2021-10-22
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    相关资源
    最近更新 更多