У меня следующая структура БД:
Posts/uid/postID/mediaData...
Timeline/UID/uid:RandID/postRefrence
Я собирался пойти с такой структурой БД, потому что ради времени я хотел пойти с более простой структурой кода БД, которая все еще способна масштабироваться до большого количества пользователей (максимум 100) и быстро менять ее. к более масштабируемому методу: обновляйте только postsNode пользователей, а затем запускайте в фоновом режиме код firebaseFunctions, который дублирует данные, добавляя их всем подписчикам.
Однако я столкнулся с проблемой при этом. Что, если пользователь создает сообщение, тогда кто-то следует за этим пользователем, в настоящее время у меня нет кода для обработки такой ситуации, и, таким образом, новый подписчик не получит ни одного сообщения от пользователя, за которым он следит (добавлен к его временной шкале, которую я получаю) ,
Так что, похоже, мой единственный вариант - использовать функции огня. Так что каждый наблюдать за другим узлом в БД у меня есть: whoFollowesME. Оттуда я должен был бы (в бэкэнде) следить за обновлениями, и когда есть обновление, мне придется (скажем, кто-то следует за пользователем) перебирать последние x или, может быть, все сообщения и добавлять их ссылки на временную шкалу пользователей.
Вопрос:
Это хороший подход? Я никогда не использовал функции огня, поэтому не уверен, насколько это легко.
Должен ли я рассмотреть что-то еще?