gpt4 book ai didi

swift - Firebase snapshot.key 不返回实际 key ?

转载 作者:搜寻专家 更新时间:2023-10-31 22:13:41 24 4
gpt4 key购买 nike

我有一个根据用户 ID 搜索用户的查询。

usersRef.queryOrderedByChild("email").queryEqualToValue(email).observeEventType(.Value, withBlock: { snapshot in
if snapshot.exists() {
print("user exists")
print(snapshot.key)

查询返回正确的用户,但 print(snapshot.key) 行字面上返回单词“users”,而不是实际的用户 ID。 print(snapshot) 返回以下用户:

Snap (users) {
DELyncz9ZmTtBIKfbNYXtbhUADD2 = {
email = "test3@gmail.com";
"first_name" = test;
"last_name" = test;
};

如何获取 DELyncz9ZmTtBIKfbNYXtbhUADD2?我可以使用 let email = child.value["email"] 获取电子邮件,但我无法获取 key ,因为它不是命名属性。

谢谢!!

编辑:感谢 Frank 的回答更新了代码。获取键的模糊使用

query.observeEventType(.Value, withBlock: { snapshot in
print(snapshot.key)

if snapshot.exists() {
print("user exists")

for child in snapshot.children {
print(child.key)

最佳答案

当您在某个位置运行查询时,结果将是匹配子项的列表。即使只有一个匹配项目,结果也将是一个 child 的列表。

您正在打印所有结果子项的 key 。由于没有单一结果,SDK 会打印您查询的位置/集合的键:users

您可能正在寻找的是遍历匹配的 child 并打印他们的 key :

let query = usersRef.queryOrderedByChild("email").queryEqualToValue(email)
query.observeEventType(.Value, withBlock: { snapshot in
for child in snapshot.children {
print(child.key)
}
})

关于swift - Firebase snapshot.key 不返回实际 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37581193/

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