Вы не запрашиваете правильное дочернее свойство.Вам понадобится что-то вроде этого: L
firebase.database().ref().child('users').orderByChild('infos/email').equalTo('my@email.com')
.limitToFirst(1).once('child_added', snap => {
if("my@email.com" === snap.val().email){
formIsValid = false;
}
})
Это упорядочит дочерние узлы по значению их свойства infos/email
, а затем отфильтрует их.Чтобы выполнить это эффективно, вам нужно определить индекс:
{
"rules": {
"users": {
".indexOn: "infos/email"
}
}
}
В качестве дополнительного трюка этот код использует limitToFirst(1)
и child_added
(вместо value
), так как вас интересует толькоо существовании подходящего ребенка.