Firebase,找出如何使用查询查找孩子并查看孩子的价值?应用验证

时间:2019-01-24 03:12:11

标签: swift firebase firebase-realtime-database

我正在使用Firebase实时数据库。我正在尝试使用查询查找一个孩子,然后找到该孩子,我想查看孩子内部是否存在带有值的特定键。我正在尝试进行身份验证过程。我正在查看用户名和密码是否正确。它不是a:键:“用户名”,值:“ password”情况,而是:

子代:“用户名”

|

->密钥:密码,值:“ password”

尝试查找带有查询的子项,并在其子项中查看密码键和值是否存在。我知道有很多与此类似的问题(看了两个小时),但没有一个适合我的情况。

数据库:

->admin
     -> Teacher
            -> Password: "teacherPassword"

-> Period 1
      -> Students
             -> Will Smith
                    -> Current Novel: "Fly"
                    -> Password: "password5"

-> Period 2
*Same as Period 1, different students*

-> Period 3
*Same as Period 1 , different students*

我尝试过:


func CheckUser(Username: String, Password: String, completionHandler: @escaping ((_ correct : Bool)) -> Void)) {


     self.ref.queryOrdered(byChild: "\(Username)/Password").queryEqual(tovalue: "\(Password)").observe(.value) { (snapshot)  in 

         if snapshot.exists(){
             print("Found")
             completionHandler(true)      
         }else{
             print("Not found")
             completionHandler(false)  
         }

     }

}

我正在尝试在整个数据库中搜索Username(这是Will Smith),并且由于所有学生子级都有一个Key密码,因此我将其添加到query(“。queryOrdered(byChild:”(Username) /密码”)”)。然后,我看是否有一个等于Password(即password5)的值。那是我的理由,但是我是Firebase的新手,所以我真的不知道。控制台始终打印出“未找到”。解决方案是查询的组合,但我需要帮助才能找到该解决方案。我不想使用Firebase的内置身份验证。

感谢您提供的任何帮助。

0 个答案:

没有答案