Firebase Firestore - получить дополнительные данные для каждого документа в коллекции - PullRequest
0 голосов
/ 22 октября 2018

У меня есть этот список объектов сообщений, с сообщением, user_id и датой.Я на самом деле хочу получать информацию о пользователях вместе с каждым сообщением.

return new Promise<any>((resolve, reject) => {
  this.afs.collection('/messages").snapshotChanges()
    .subscribe(snapshots => {
      resolve(snapshots)
    })
})

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

Есть ли лучший способ?

1 Ответ

0 голосов
/ 22 октября 2018

На этот вопрос отвечает Фрэнк из Firebase здесь относительно базы данных в реальном времени.Это, скорее всего, будет применимо и к вашему варианту использования.Существует также отличный небольшой документ поддержки, в котором перечислены преимущества различных подходов с Firestore здесь .

В зависимости от вашего конкретного случая использования может быть или не быть надежным для хранения пользовательских данныхв вашем объекте сообщения.Возможно, вы слышали о дублировании данных и о нормализации, которая является обычной практикой в ​​базах данных NoSQL.

Не зная слишком много о вашем сценарии использования, я бы сохранял user_id в объекте сообщения и извлекал их, если и когда онинеобходимы.

...