Firebase查询无法找到电子邮件地址?

时间:2016-05-30 13:29:14

标签: swift firebase swift2 firebase-realtime-database

我的Firebase数据库中有一个名为"用户"其中包含电子邮件和姓名的密钥。我尝试创建一个基于电子邮件地址查找用户的简单查询,但查询未返回任何结果。

ionic.project

我的控制台始终打印"用户不存在"即使电子邮件文本字段与我的数据库中显示的内容相同。

关于什么是错误的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

let usersRef = self.rootRef.childByAppendingPath("users")
let email = emailTextField.text

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

     } else {
          print("user doesn't exist")

     }
})

您需要小心,但......。值将返回所有节点,其电子邮件地址等于您要查找的地址。一般情况下,如果有5,则.Value将包含全部5,因此迭代快照会更安全。

for child in snapshot.children {
   let email = child.value["whatever key:value you want"] as! String
}