Я использую базу данных 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.
Спасибо за любую помощь.