Получить первое дочернее значение родительского значения в базе данных Firebase в реальном времени

Я работаю над проектом, который требует от меня обновления пользовательского интерфейса в зависимости от того, сколько значений существует в базе данных. Например, когда создаются 2 дочерних значения, пользовательский интерфейс обновляется и содержит два поля.

В настоящее время мой код определяет, сколько существует дочерних объектов;

database.ref("parent").on('value', displayValue);
    function displayValue(c){
   
        total = c.numChildren()
    }

Отсюда я создаю сколько угодно элементов на основе этого числа. Однако моя проблема заключается в том, как получить начальное имя дочернего элемента, в данном случае «child1», чтобы обновить такие элементы, как текст заголовка.

Есть ли способ получить эти значения на основе индекса, например, в массиве массива javascript [index]?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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")

Другие вопросы по теме