Я немного застрял и не уверен, что делать дальше.У меня есть приложение для iOS, написанное на swift.Это приложение для социальной сети.У него есть посты, пользователи, подписчики, лайки и т. Д.
Идея иерархии базы данных поста проста и, тем не менее, очень эффективна, когда приложение растет с точки зрения пользователей.Если не нажата кнопка «заметки» в ячейке, отображающей эти данные сообщений (которая связана с notes
сообщений), дополнительные данные не требуются.Следовательно, я не хочу хранить все лайки, все комментарии и т. Д. Под самим постом, потому что каждый раз, когда пост отображается, все лайки, комментарии и т. Д. Будут загружаться независимо от того, хочет ли пользователь их видеть илине.Я хотел бы создать отображение данных.Вот моя идея:
Теперь, скажем, самый первый пользователь создал самый первый пост.Это не понравилось, так как оно совершенно новое.Нет предыдущих сообщений, нет таблицы соответствия.Это все с нуля, как и должно быть.
Вот что я не могу понять, как это сделать.Я знаю, что для таких вещей, как лайки, я должен использовать runTransactionBlock
на тот случай, если 1000 пользователей полюбят пост одновременно.notes
должен быть рассчитан на основе суммы лайков и комментариев.Действие должно выглядеть следующим образом: пользователю нравится сообщение:
- Их
uid
следует добавить к posts_likes
узлу - Значение
likesCount
должно быть увеличено на 1 - Счет
notes
должен быть увеличен на 1 (из-за likesCount
) PS: notes
должен увеличиваться каждый раз, когда пользователю нравится, комментирует или публикует что-либо еще.
Я полностью заблудился от того, как даже начать это.