Как извлечь данные из firebase angularfire2 так, чтобы они не показывали дубликаты - PullRequest
0 голосов
/ 03 мая 2018

Если у меня в коллекции несколько документов, имеющих ключевое значение «model»: «iphone 6» повторялось n раз, а «model»: «iphone 7» повторялось n раз, но я хочу получить каждый из них. Как будто в итоге отображаются только iphone 6 и iphone 7.

1 Ответ

0 голосов
/ 03 мая 2018

Существует два распространенных варианта:

  1. Читайте документы в порядке их модели, а затем показывайте только один документ на модель.

    var lastModel
    querySnapshot.forEach((phone) => {
      if (phone.data().model <> lastModel) {
        ... 
        lastModel = phone.data().model;
      }
    })
    
  2. Создайте отдельную коллекцию моделей и покажите, что вместо документов, которые вы сейчас показываете.

Вариант 1 аналогичен предложению group by в SQL, тогда как вариант 2 использует более совершенную нормализованную модель данных для достижения того же.

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