У меня проблемы с сохранением некоторых данных в базе данных Firebase. Вот код:
var ausiliaria = false;
DocentiRef.child(keyDocente + "/prenotazioni/").orderByKey().on("child_added", function(snapshot2) {
keyFascia = snapshot2.key;
if (ausiliaria == false) {
(function() {
if (snapshot2.val().emailAlunno != "" && snapshot2.val().nomeAlunno != "" ) {
//do nothing
} else {
DocentiRef.child(keyDocente + "/prenotazioni/"+ keyFascia).update({ emailAlunno: window.mailGenitore });
DocentiRef.child(keyDocente + "/prenotazioni/"+ keyFascia).update({ nomeAlunno: dropdownPlaceholder.html() });
ausiliaria = true;
}
}());
};
});
А вот фото интересующей нас части базы данных:
![enter image description here](https://i.stack.imgur.com/y88m1.png)
Как код должен работать: для каждого дочернего элемента (начиная с "ascia1 ") из" prenotazioni "следует проверить, если" ausiliaria "== false, а затем, если дочерние элементы" emailAlunno "и" nomeAlunno "равны" ". Если это так, то он присваивает значения «window.mailGenitore» для «emailAlunno» (на фотографии значение «kalihacking.gmail.com») и «dropdownPlaceholder. html ()» для «nomeAlunno» (в фото значение "Алессандро Айардо"). Затем он устанавливает «ausiliaria» = true, поэтому, когда код повторяется для следующего ребенка (например, «fasia2»), он не повторяет инструкции, избегая напрасного перезаписи другого ребенка. Но проблема в том, что в начале каждого цикла «ausiliaria» всегда ложна, даже если в конце предыдущего цикла алгоритм устанавливает ее в ложь. Но это не единственная проблема. Он устанавливает только значение «emailAlunno» для первых трех детей (Fascia1, Fascia2, Fascia3), в то время как (как и у 4-го ребенка) он также должен присваивать значение «NomeAlunno».
Это сложно, Я знаю, поэтому я предлагаю вам задать мне каждый вопрос, который может добавить полезную информацию. Большое спасибо!
Редактировать: Если я добавлю еще одного дочернего элемента "Fascia5", он устанавливает только значение "emailAlunno" для первых 4 детей (Fascia1, Fascia 2, Fascia 3, Fascia 4), а "Fascia5.nomeAlunno" и "ascia5.emailAlunno "компилируются оба.