Как запустить runTransactionBlock, когда нет данных? - PullRequest
0 голосов
/ 08 июня 2018

Я немного застрял и не уверен, что делать дальше.У меня есть приложение для iOS, написанное на swift.Это приложение для социальной сети.У него есть посты, пользователи, подписчики, лайки и т. Д.

Идея иерархии базы данных поста проста и, тем не менее, очень эффективна, когда приложение растет с точки зрения пользователей.Если не нажата кнопка «заметки» в ячейке, отображающей эти данные сообщений (которая связана с notes сообщений), дополнительные данные не требуются.Следовательно, я не хочу хранить все лайки, все комментарии и т. Д. Под самим постом, потому что каждый раз, когда пост отображается, все лайки, комментарии и т. Д. Будут загружаться независимо от того, хочет ли пользователь их видеть илине.Я хотел бы создать отображение данных.Вот моя идея:

enter image description here

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

Вот что я не могу понять, как это сделать.Я знаю, что для таких вещей, как лайки, я должен использовать runTransactionBlock на тот случай, если 1000 пользователей полюбят пост одновременно.notes должен быть рассчитан на основе суммы лайков и комментариев.Действие должно выглядеть следующим образом: пользователю нравится сообщение:

  • Их uid следует добавить к posts_likes узлу
  • Значение likesCount должно быть увеличено на 1
  • Счет notes должен быть увеличен на 1 (из-за likesCount) PS: notes должен увеличиваться каждый раз, когда пользователю нравится, комментирует или публикует что-либо еще.

Я полностью заблудился от того, как даже начать это.


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