Как получить вложенные справочные данные в пожарном депо? - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь получить данные по датам и рендерить html в firestore, но я не могу этого сделать.

Порядок неверный.Потому что, данные отсортированы по пользователю.Как получить данные по дате?

{
  comments: {
    comment_1: {
     userRef: users/user_1,
     body: "body",
     createdAt: Timestamp,
    },
    comment_2: {
      userRef: users/user_2,
      body: "body",
      createdAt: Timestamp,
    },
    comment_3: {
      userRef: users/user_1,
      body: "body",
      createdAt: Timestamp,
    },
  },
  users: {
    user_1 : {
     name: "test"
    },
    user_2 : {
     name: "test"
    },
  }
}


db.collection('comments').orderBy('createdAt').get().then(snapshot=> {
    const comment = snapshot.data();
    comment.userRef.get().then(userSnapshot => {
      const userData = userSnapshot.data();
      const comment = document.getElementById('js-comment');
      const element = document.createElement('div')
      element.innerHTML = `<p>${comment.body}</p>`
      comment.appendChild(element);
    });
});

1 Ответ

0 голосов
/ 18 апреля 2019

Вам необходимо отсортировать данные, используя orderBy поле даты, как у вас в коде, однако у вас нет поля, созданного в предоставленной вами модели данных.

Если данные ваших комментариев выглядят так

comments: {
    comment_1: {
     userRef: users/user_1,
     body: "body",
     createdAt: Timestamp
    },
    comment_2: {
      userRef: users/user_2,
      body: "body",
      createdAt: Timestamp
    },
    comment_3: {
      userRef: users/user_1,
      body: "body",
      createdAt: Timestamp
    },

Поле метки времени можно заполнить, запустив firestore для заполнения поля с помощью Timestamp.now () при создании данных.

Как только данные прочитаны, используя orderBy для комментариев. Вам нужно указать ASCENDING, если вы хотите, чтобы данные росли в порядке возрастания, тогда пользователи могут искать и данные должны отображаться в правильном порядке.

Это обсуждается подробнее здесь https://firebase.google.com/docs/firestore/query-data/order-limit-data

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