Имена узлов / документов Firebase не поддерживают тот же набор символов, который поддерживают адреса электронной почты, например,. Символ в адресе электронной почты сделает имя ребенка недействительным.
Если вы пытались установить ребенка как
ref.child("users").child("xyz@xyz.xyz")
вы должны увидеть ту же ошибку.
Если вам абсолютно необходимо использовать адрес электронной почты в качестве имени узла, я рекомендую кодировать электронную почту способом, совместимым с правилами имен узлов firebase.
Ссылка на правила
Редактировать: Если вы используете firebase auth, то в обычном шаблоне также используется UID, возвращенный аутентифицированным пользовательским объектом в качестве имени узла, а не адрес электронной почты, введенный из текстового поля.
Быстрый пример:
Auth.auth().signIn(withEmail: email, password: password) { (user, error) in
if let user = user {
ref.child("users").child(user.uid).setValue(true)
}
}