我对为iOS应用构建Firebase数据库的最佳方法有疑问。基本结构是有users
和posts
。该应用将打开,登录的user
会看到他/她已上传到数据库的所有posts
(我可能会对此进行更新,以便用户可以看到{{ 1}}。最好每个users
都有一个post
?还是将userId
的数组与每个posts
相关联?
答案 0 :(得分:1)
如果您可以对数据进行分片/分区,从而不必查询可能很长的列表,那么对于实时数据库而言,这始终是可取的。
因此,在您的情况下,如果您知道要向用户显示其自己的帖子列表作为起点,则最好在数据库中对该列表进行建模。通常,根据您选择的社交网络,将其称为用户的供稿或墙。
如果随后您又想显示他们关注的用户的帖子,则可能要将这些帖子存储在用户的墙上。这种类型的数据复制乍看之下似乎并不自然,但在NoSQL数据库中非常普遍。实际上,这是Firebase在其类FireFeed example中使用的确切模型。
要了解有关NoSQL数据建模的更多信息,请参见: