首页 文章

使用Firebase和Swift从查询中抓取信息[重复]

提问于
浏览
0

这个问题在这里已有答案:

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
    for child in snapshot.children {
      let key = child.key as String
      print("this key \(key)")
    

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

相关问题