Как я могу получить ссылку на push () в базе данных firebase? - PullRequest
0 голосов
/ 20 сентября 2018

Я хочу получить данные из моей базы данных Firebase.

enter image description here

Тот, который был выделен в IMG 1, - это пользовательский идентификатор, а под ним - значение из push ().

Это мой код для извлечения данных

var getClassInfo = firebase.database().ref().child('Classes'+ user.uid + 
'/');
 getClassInfo.on('value', gotData,errData);

function gotData(data) {
//console.log(data.val());
var Classes = data.val()
var keys = Object.keys(Classes);
console.log(keys);


for (var i =0; i < keys.length; i ++){
  var k = keys[i];
  var TheClass = Classes[k].TheClass;
  console.log(TheClass);
  }
  }

function errData(err) {
console.log('Error!');
console.log(err);

 }

Как мне ref () значение функции push ()?

var getClassInfo = firebase.database().ref().child('Classes'+ user.uid + 
[push()]);

Как извлечь все имена классов изконкретный пользователь [TheClass]?

1 Ответ

0 голосов
/ 20 сентября 2018

Чтобы получить значение классной комнаты, созданной с помощью 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);
});

См. Документ здесь и здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...