gpt4 book ai didi

ios - 在 Swift 中从 Firebase 获取给定值的 KEY

转载 作者:行者123 更新时间:2023-11-28 05:49:12 24 4
gpt4 key购买 nike

有一个用户注册表,我们想输入一个电子邮件地址,然后返回 UID。

有没有办法快速做到这一点?

我们希望函数返回这个。

enter image description here

就像我们在函数中输入 user@user.com,它会返回 gSVeU6....

非常感谢任何提示和建议。

这是 firebase JSON 树的样子 enter image description here

func findFriendsUIDFromFirebase(selectedFriendsEmail: String) {
print("Hey from findFriendsUIDFromFirebase called")
fir.child("registeredUsersOnPlatform").observeSingleEvent(of: .value, with: { (snapshot) in

if snapshot.exists() {

guard let allTheUsers = snapshot.value as? [String:String] else {
print("Something is wrong with this snapshot")
return
}

if let selectedUserUIDFromFirebase = allTheUsers.someKey(forValue: selectedFriendsEmail) {
//DO STUFF

基本上以这种方式我们在本地下载所有内容然后循环遍历字典,但我正在寻找一种更好的方法,一种不涉及下载整个内容的方法。也许有一个.equals()?

同时打印字典时不知为何,好像卡在了100个键值对。当实际 table 上有大约 300 对时。这是某处的一些剪辑。

最佳答案

您需要执行 Firebase query对于您正在寻找的特定值:

let queryEmail = "Userone@user.com"
fir.child("registeredUsersOnPlatform").queryOrderedByValue().queryEqual(toValue: queryEmail).observeSingleEvent(of: .value) { (querySnapshot) in
for result in querySnapshot.children {
let resultSnapshot = result as! DataSnapshot
print (resultSnapshot.key)
}
}

您还可以使用 .queryLimited(toFirst: x)

限制查询结果的数量

关于ios - 在 Swift 中从 Firebase 获取给定值的 KEY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53511968/

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