После использования snapshot.exists () имя пользователя всегда будет отображаться как доступное при регистрации. Как я могу изменить свой код, чтобы правильно проверить, было ли уже занято имя пользователя?
Вот фрагмент json в разделе "пользователи" в базе данных:
{
"UserID#" : {
"credentials" : {
"name" : "testuser",
},
}
}
Мой код в настоящее время выглядит так:
let usersDB = Database.database().reference()
var taken = false
usersDB.child("users").child("credentials").queryOrdered(byChild:"name").queryEqual(toValue: username.lowercased()).observeSingleEvent(of: .value, with: { (snapshot) in
if snapshot.exists() {
taken = true
print("Username is not available.")
usernameAlert()
} else {
print("User is available")
}
Неважно, если имя пользователя уже занято в базе данных, снимок скажет, что он не существует.
Решения, которые я пробовал безуспешно:
проверить, существует ли имя пользователя в Firebase
Запрос пользователей в Firebase, чтобы проверить, существует ли имя пользователя во время процесса регистрации
Firebase запрашивает уникальное имя пользователя swift
Проверьте, существует ли пользователь с именем пользователя, используя Swift и Firebase
Swift & Firebase | Проверка, существует ли пользователь с именем пользователя