Данные от firebase поступают в случайном порядке? - PullRequest
0 голосов
/ 05 августа 2020

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

Предположим, у меня есть 4 документа в коллекции ABC с ключами _name, _contact, _comments.

Прогнозируемый результат:

{
  { _name: 'ABC', _contact: 'xyz', _comment: 'def' },
  { _name: 'ABC', _contact: 'xyz', _comment: 'def' },
  { _name: 'ABC', _contact: 'xyz', _comment: 'def' },
  { _name: 'ABC', _contact: 'xyz', _comment: 'def' }
}

Фактический выход:

{
  { _name: 'ABC', _contact: 'xyz', _comment: 'def' },
  { _contact: 'xyz', _name: 'ABC', _comment: 'def' },
  { _name: 'ABC', _comment: 'def', _contact: 'xyz' },
  { _name: 'ABC', _contact: 'xyz', _comment: 'def' }
}

JS Код

const tableObj = document.getElementById('quoteVal');
dbref.get().then(snap => {
    snap.forEach(item => {
        data = item.data();
        let ele = document.createElement('tr');
        for(let key in data) {
            if(data.hasOwnProperty(key)) {
                ele.innerHTML += '<td>' + data[key] + '</td>';
            }
        }
        tableObj.append(ele);
    });
});

Пожалуйста Помоги мне. Я не понимаю, почему это происходит, поскольку я новичок в firebase.

1 Ответ

2 голосов
/ 05 августа 2020

Ваш код не должен зависеть от порядка итерации полей в документе. Нет гарантированного порядка .

Если вам нужен порядок, вы должны сами отсортировать поля перед генерацией вывода.

...