gpt4 book ai didi

ios - 如何使用他们的 uid 获取特定用户的数据?

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

我想获取特定用户的数据,我知道它的 uid,我想检索该特定用户的所有数据。你能帮我找回用户数据吗?提前谢谢你

func grabbingData() {
let specificDatabase = Database.database().reference(withPath: "Data")
let query = specificDatabase.queryOrdered(byChild: "uid").queryEqual(toValue: "ghD0lYZV1QOeJ2giUc3fNVxsLAV2")
query.observeSingleEvent(of: .value, with: { (snapShot) in
for child in snapShot.children {
if let snap = child as? DataSnapshot {
if let dictValues = snap.value as? [String: [String:String]] {
Array(dictValues.values).forEach {
let data = Data()
data.Name = $0["Name"]!
data.hold = $0["Data"]!
data.uid = $0["uid"]!
self.requestArray.append(data)
}
self.tableView.reloadData()
}
}
}
})
}

Firebase Structure

"Data" : {
"ghD0lYZV1QOeJ2giUc3fNVxsLAV2" : {
"-LlhLo-NJRn68ThFSAL2" : {
"Name" : "Fake",
"Data" : "data",
"uid" : "ghD0lYZV1QOeJ2giUc3fNVxsLAV2"
},
"-Llc_-M2tU9bm-AqcTb5" : {
"Name" : "Fake",
"Data" : "data",
"uid" : "ghD0lYZV1QOeJ2giUc3fNVxsLAV2"
}
}
},

最佳答案

呈现的 Firebase 结构有一些可能不需要的 uid 重复,目前还不清楚为什么,但这里有一些代码可以读取问题中的结构并打印出每个子节点中的子值

func readUserNode() {
let userNodeRef = self.ref.child("Data").child("ghD0lYZV1QOeJ2giUc3fNVxsLAV2")
userNodeRef.observeSingleEvent(of: .value, with: { snapshot in
let allChildNodes = snapshot.children.allObjects as! [DataSnapshot]
for child in allChildNodes {
let name = child.childSnapshot(forPath: "Name").value as? String ?? "no name"
let data = child.childSnapshot(forPath: "Data").value as? String ?? "no data"
let uid = child.childSnapshot(forPath: "uid").value as? String ?? "no uid"
print(name, data, uid)
}
})
}

和输出(我将 Fake 更改为 Fake1 和 Fake2,这样您就可以看到打印了每个节点)

Fake1 data ghD0lYZV1QOeJ2giUc3fNVxsLAV2
Fake2 data ghD0lYZV1QOeJ2giUc3fNVxsLAV2

进一步解决这个问题。

使用 Firebase,当您不知道数据存储在哪些节点中时,您只需要查询数据。换句话说,对于这个用例,您知道用户 uid (ghD0lYZV1QOeJ2giUc3fNVxsLAV2) 和您要存储的数据在以该 uid 作为键的节点中。

因此,无需查询即可直接访问节点。

关于ios - 如何使用他们的 uid 获取特定用户的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57500862/

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