我正在使用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语句。 我的数据库结构是:
用户
-LXa4s3d9BrGqDThdWU-
用户名“ rashid55”
答案 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"
}
})
}