当前位置: 首页 > 面试题库 >

搜索子值Firebase / Swift

王楚青
2023-03-14
问题内容

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

 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值?


问题答案:

对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)
    }
}


 类似资料:
  • 我想按姓名、姓氏或电子邮件搜索用户,但由于我没有上述级别的用户密钥,我不知道如何实现这一点。我正在执行和管理员会话,因此它无法访问用户密钥。 我尝试过: 但它会把所有用户都带到数据库上。有什么想法吗?

  • 我对Firebase和Android是新手。我已经在我的Firebase帐户中存储了用户身份验证详细信息(姓名、个人资料图像而不是电子邮件ID)。我想检索那些数据(如姓名等)到我的应用程序的其他部分。如何检索实时数据库子值?

  • 我想从firebase搜索,其中的名字包含的字符从搜索框在任何位置的名字?有谁能像这样帮帮我吗

  • 背景我有一个小索引与一些字符串字段(例如名称,街道,城市,电子邮件)。 和类似于 Lorem ipsum dolor sit amet,consectetuer adipiscing Elit。埃尼·康茂多·利古拉·埃盖特·多洛。埃尼安·马萨。同时也是一个社会成员,即natoque penatibus et magnis dis matraft montes,nascetur loomus mus

  • 我有一个firebase数据结构设置如下 有没有一种方法可以查询所有这些来检查特定的电子邮件?我正试图找出不同的选择,但有点困惑该按什么来订购。

  • 问题内容: 我在输入时搜索用户。但是最后它返回了每个用户。我不知道为什么会这样。好像还好 问题答案: 您正在使用。从文档中: 由返回的实例 将响应节点上具有大于startValue或等于startValue且键大于或等于childKey的值的事件。 因此请记住,如果您搜索某个用户的,则会为所有名称按字母顺序大于给定名称的用户提供。您需要设置a 以限制查询范围。 Firebase旧版文档是了解Fir