Firebase实时数据库,检查Firebase数据库值是否存在?

时间:2019-02-15 12:51:26

标签: ios swift firebase firebase-realtime-database

我正在使用Firebase实时数据库,但需要一些帮助来解决此问题。
 这是我的代码:

  let usersDB = Database.database().reference().child("user/\(username)")
        usersDB.observeSingleEvent(of: .value, with: { (snapshot) in
            if snapshot.exists() {
                self.lblUserAvailability.text = "Not Available"
            }
            else {
               self.lblUserAvailability.text = "Available"
            }
        })
    }

我想要的是,如果用户已经存在于数据库中,则应转到“ snapshot.exists()”语句,但在我而言,它始终转到else语句。 我的数据库结构是:

enter image description here

  

用户

     
    

-LXa4s3d9BrGqDThdWU-

         
      

用户名“ rashid55”

    
  

1 个答案:

答案 0 :(得分:2)

您需要侦听“用户”节点并查询要搜索的名称

let usersDB = Database.database().reference().child("user").queryOrderedByChild("username").queryEqualToValue(username)
    usersDB.observeSingleEvent(of: .value, with: { (snapshot) in
        if snapshot.exists() {
            self.lblUserAvailability.text = "Not Available"
        }
        else {
           self.lblUserAvailability.text = "Available"
        }
    })
}