Firebase, узнать, как найти ребенка, используя запросы и просматривая значение его ребенка? Аутентификация приложения - PullRequest
0 голосов
/ 24 января 2019

Я использую базу данных Firebase Real Time. Я пытаюсь найти дочерний элемент с помощью запроса, а затем, найденный, я хочу увидеть, есть ли внутри дочернего элемента определенный ключ со значением. Я пытаюсь сделать процесс аутентификации. Я смотрю, если имя пользователя и пароль верны. Это НЕ a: Key: «username», значение: «password», но a:

child: "имя пользователя"

|

-> Ключ: Пароль, Значение: «пароль»

Попытка найти дочерний элемент с помощью запроса, а внутри его дочерних элементов проверить, существуют ли ключ пароля и значение. Я знаю, что есть много похожих вопросов по этому поводу (смотрю их 2 часа), но ни один из них не подходит для моей ситуации.

База данных:

->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)  
         }

     }

}

Я пытаюсь найти в базе данных имя пользователя (это Уилл Смит), и, поскольку у всех детей учащихся есть ключ пароля, я добавил его в запрос (". QueryOrdered (byChild:" (Имя пользователя) /Пароль")"). Затем я вижу, есть ли значение, равное паролю (это пароль5). Это мое рассуждение, но я новичок в пожарной части, поэтому я не знаю. Консоль всегда печатает «Not Found». Решение представляет собой комбинацию запросов, но мне нужна помощь, чтобы найти это решение. Я не хочу использовать встроенную аутентификацию Firebase.

Спасибо за любую помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...