gpt4 book ai didi

ios - 按用户名查询 Firebase 数据库

转载 作者:行者123 更新时间:2023-11-29 00:03:40 25 4
gpt4 key购买 nike

我的数据库看起来像这样:

enter image description here

在我的应用程序中,我有一个搜索栏,在用户搜索时我想找到所有具有相同名称或以相同文本开头的用户。

所以我所做的是:

func seachUser(named : String){
usersRef.queryOrdered(byChild: "userName")
.queryStarting(atValue: named)
.observeSingleEvent(of: .value) { (snap) in
print(snap.value)
}
}

但是,每次我都会获得所有用户列表。我该如何解决?谢谢

最佳答案

您查询所谓的开放式范围。 IE。如果 namedJo,那么您将获得以 Jone 开头的所有结果,然后是之后的每个子节点。

要仅获取以 Jo 开头的用户名,您需要通过添加 queryEnding(atValue: 来关闭范围。这里的技巧是在最后结束您想要的已知字符,我们通常使用已知的最高 unicode 字符:

func seachUser(named : String){
usersRef.queryOrdered(byChild: "userName")
.queryStarting(atValue: named)
.queryEnding(atValue: named+"\uf8ff")
.observeSingleEvent(of: .value) { (snap) in
print(snap.value)
}
}

关于ios - 按用户名查询 Firebase 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48720184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com