Просмотр уведомлений Firestore - PullRequest
4 голосов
/ 19 июня 2020

Итак, для начала этот вопрос не имеет отношения к Pu sh Notifications. Я хочу добиться представления, в котором отображаются все уведомления. Что-то вроде Instagram или Facebook.

Может быть несколько ресурсов, из которых могут приходить эти уведомления. Допустим:

  1. Кому-то понравилась моя фотография. (Пришло из likes таблицы.)
  2. Кто-то прокомментировал мою фотографию. (Пришло из comments таблицы.)
  3. Новая акция. (Пришло из promotions таблицы.)
  4. Новое предупреждение системы безопасности. (Из таблицы alerts.)

Важно то, что мне нужно отображать только одну строку для каждого элемента. Итак, если фотография понравится 10 людям, я хочу обновить эту единственную строку в реальном времени. Еще одна важная вещь - это разбиение на страницы. Это момент, когда у меня возникают трудности. Очень сложно реализовать разбиение на страницы, когда эти ресурсы поступают из разных таблиц.

Итак, мой вопрос: должен ли я создать еще одну notifications таблицу и всякий раз, когда выполняется одно действие, я вставляю новую строку в эту таблицу, а затем выполнить здесь запрос с разбивкой на страницы, или мне следует получить и затем объединить эти уведомления из разных таблиц?

1 Ответ

3 голосов
/ 27 июня 2020

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

Если вы реализуете этот подход, он будет быть легким для получения запроса с разбивкой на страницы. Я возьму просто пример, если кто-то похож на вашу фотографию, тогда у вас есть все поля таблицы, такие как postId, userId и все остальное. Таким образом, вы можете поместить все значения в таблицу «Уведомления».

Должен ли я получить и затем объединить эти уведомления из разных таблиц?

Это будет сложно получить или присоединитесь к разным таблицам, чтобы отображать уведомления с разбивкой на страницы. Также потребуется время для выполнения запросов в базе данных.

...