ios - 如何使用 queryEqual(toValue :childKey:) in Firebase SDK for iOS properly?

标签 ios swift firebase firebase-realtime-database nosql

我是 NoSQL 和 Firebase 的新手。我有这样的数据库用于路径“作家”。

enter image description here

我试图使用此代码找到任何使用电子邮件“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/

相关文章:

ios - 谷歌地图缩放没有改变

ios - 以编程方式创建 UITabBarController,仅显示一个选项卡

ios - 如何更改 ios-charts 中的气球标记图像?

ios - 有没有办法在iOS中生成Int64类型的UUID?

Angular Firebase ngIf 用户经过身份验证监听器在页面重新加载时不起作用

ios - iOS8 应用内购买

iphone - 如何在 Mobile Safari 中播放视频

swift - 如何修复 "could not find ' init(域:code:userInfo: )' in parent class" while archiving?

android - Firestore : Invalid package reference in library

javascript - 在 Firebase 中删除用户时如何获取 authData?