Чтобы получить значение классной комнаты, созданной с помощью push, выполните следующее, где classId
- это ключ, созданный с помощью push (например, LMpv .....)
firebase.database().ref('Classes/' + user.uid + '/' + classId).once('value').then(function (snapshot) {
console.log(snapshot.val().TheClass);
// ....
});
Чтобы извлечь все классные комнаты name
для определенного user
, выполните следующие действия:
var userRef = firebase.database().ref().child('Classes' + '/' + user.uid);
userRef.once('value', function(snapshot) {
snapshot.forEach(function(childSnapshot) {
var childData = childSnapshot.val();
var classroomName = childData.TheClass
});
});
Используя метод once()
, вы считываете один раз значения из базы данных, см. https://firebase.google.com/docs/reference/js/firebase.database.Reference#once
Если вы хотите использовать метод on()
(как вы делаете в своем вопросе) и постоянно слушать узел user
и определять, добавляются ли новые классные комнаты, выполните следующие действия:
var userRef = firebase.database().ref().child('Classes' + '/' + user.uid);
userRef.on('child_added', function(data) {
console.log(data.val().TheClass);
});
См. Документ здесь и здесь .