Хранение данных из вложенного объекта Firebase - PullRequest
0 голосов
/ 07 октября 2018

Я работаю с веб-приложением, которое отображает информацию по месяцам.Вот моя структура базы данных Firebase: Структура базы данных Firebase

Чтобы перебрать данные, я использую это:

for(i = 0; i<months.length;i++){

    console.log(months[i]);

    var datesRef = firebase.database().ref('students/' + currentStudentSap + '/attendance/' + currentSem + '/' + months[i]);
    datesRef.on('value',function(snapshot){

        var dates = snapshot.val();
        var date = Object.keys(dates);

        for(j=0;j<date.length;j++){

            console.log(date[j]);

            var lectureRef = firebase.database().ref('students/' + currentStudentSap + '/attendance/' + currentSem + '/' + months[i] + "/" + date[j]);
            lectureRef.on('value',function(snapshot){

                var lectures = snapshot.val();
                console.log(lectures, typeof(lectures));

            }); 
        }
    });
}

Вот что я получаю на консоли: Данные консоли

Теперь я хочу сохранить эту статистику в некоторой структуре данных, чтобы я мог использовать ее для создания графических диаграмм.Например: «COSTtheory» - это тема, и я хочу рассчитать общее количество проведенных лекций и общее количество существующих лекций за каждый месяц, а также отобразить статистику за месяц (например, процент посещенных) в HTML.

1 Ответ

0 голосов
/ 07 октября 2018

Я не знаю точно, как вы вставляете данные в Firebase, но я бы не стал повторять это, как вы.Вместо этого я увеличивал бы месячные итоги, которые мне нужны, чтобы составлять отчет каждый раз, когда вставляются данные, таким образом я мог бы отображать живую статистику (вид цели живой базы данных).Для этого я бы использовал транзакции базы данных Firebase с облачными функциями.Транзакции обеспечивают согласованность данных.

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