一尘不染

搜索子值Firebase / Swift

swift

我的数据库具有按以下方式排序的值:

 Users
    UID
      Username
      Email

我想实现一个朋友添加系统,您可以在其中搜索用户名或电子邮件,并允许您添加此人。

我可以通过使用找到用户

 REF_USERS.queryOrdered(byChild: "displayname").queryEqual(toValue: input).observeSingleEvent(of: .value) { (snapshot: FIRDataSnapshot) in {
 print(snapshot.value)
}

这样我就可以得到用户的整个字典,但是在获取UID时遇到了问题。

snapshot.key给了我“用户”。

使用用户名/电子邮件找到用户的字典后,如何从字典中获取UID值?


阅读 190

收藏
2020-07-07

共1个答案

一尘不染

对Firebase数据库执行查询时,可能会有多个结果。因此,快照包含这些结果的列表。即使只有一个结果,快照也将包含一个结果的列表。

let query = REF_USERS.queryOrdered(byChild: "displayname").queryEqual(toValue: input)
query.observeSingleEvent(of: .value) { (snapshot: FIRDataSnapshot) in {
    for child in snapshot.children {
        print(child.key)
    }
}
2020-07-07