Я работаю над проектом, который требует от меня обновления пользовательского интерфейса в зависимости от того, сколько значений существует в базе данных. Например, когда создаются 2 дочерних значения, пользовательский интерфейс обновляется и содержит два поля.
В настоящее время мой код определяет, сколько существует дочерних объектов;
database.ref("parent").on('value', displayValue);
function displayValue(c){
total = c.numChildren()
}
Отсюда я создаю сколько угодно элементов на основе этого числа. Однако моя проблема заключается в том, как получить начальное имя дочернего элемента, в данном случае «child1», чтобы обновить такие элементы, как текст заголовка.
Есть ли способ получить эти значения на основе индекса, например, в массиве массива javascript [index]?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


API базы данных Firebase Realtime не имеет возможности доступа к дочерним узлам по их индексу. Единственный способ вытащить дочерний элемент по индексу — загрузить все дочерние элементы в массив в вашем коде, а затем получить к ним доступ по индексу.
Если вы хотите перебрать все дочерние узлы в снимке, вы можете сделать:
database.ref("parent").on('value', (snapshot) => {
snapshot.forEach((child) => {
console.info(child.key); // "child1", "child2"
console.info(child.child("data").val()); // "123", "123"
});
}
Если вы хотите обновить конкретный дочерний элемент, вы указываете ключи для всего пути. Например:
database.ref("parent").child("child1").child("data").set("456")
Или немного короче:
database.ref("parent/child1/data").set("456")