使用Firebase和Swift从查询中获取信息

时间:2016-06-23 07:37:01

标签: ios swift firebase firebase-realtime-database

 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为我提供了“用户”。如何获得低于该水平的一个级别?

1 个答案:

答案 0 :(得分:0)

 for child in snapshot.children {
  let key = child.key as String
  print("this key \(key)")

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