Когда вы выполняете запрос к базе данных Firebase, потенциально может быть несколько результатов.Таким образом, снимок содержит список этих результатов.Даже если есть только один результат, снимок будет содержать список из одного результата.
Ваш код не учитывает этот список.Самый простой способ сделать это с помощью Snapshot.forEach()
:
roleRef.orderByChild('user').equalTo(user.uid).once('value', (snapshot) => {
snapshof.forEach((roleSnapshot) => {
console.log(roleSnapshot.val())
console.log(roleSnapshot.val().user);
});
})