我是 NoSQL 和 Firebase 的新手。我有这样的数据库用于路径“作家”。
我试图使用此代码找到任何使用电子邮件“test@test.com”的用户:
ref.child("writers").queryEqual(toValue: "test@test.com", childKey: "email").observeSingleEvent(of: .value, with: { snap in
print (String(describing: snap.value));
}
但我得到的只是Optional(<null>)
在控制台上。我的代码有什么问题?我认为它非常简单,但尽管我尝试了任何修复,我还是无法让它工作。
不过,如果我使用代码,我可以成功获取所有作者数据:
ref.child("writers").observeSingleEvent(of: .value, with: { (snap) in
print (String(describing: snap.value));
}
最佳答案
正确的语法是:
ref.child("writers").queryOrdered(byChild: "email").queryEqual(toValue: "test@test.com").observeSingleEvent(of: .value, with: { snap in
...
您使用的重载用于不同的(并且不太常见)用例。
另请参阅有关在 Swift 中查询 Firebase 的其他一些问题:
关于ios - 如何使用 queryEqual(toValue :childKey:) in Firebase SDK for iOS properly?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039061/