我的数据库包含posts
,users
和其他节点,如经典社交媒体应用。
我正在继续为我的应用程序实现最佳实践。现在我想重写我的新闻报道(我关注的用户帖子(如Instagram中的主页标签))。
我已经阅读了有关fan-out
策略的一些信息,现在我对如何正确完成它感到困惑。
所以,我有两个机会:
与here类似:每次用户添加新的post
时,带有完整信息的post
都会被users-timeline(users news strip)/UID/postId: FULL INFO
复制到所有followers
这个user
。每个编辑都会编辑每次提及此post
。
每次用户添加新post
时,此postID
都会被user-timeline(users news strip)/UID/postId: true
复制到此followers
的所有user
。每个编辑都只会编辑源帖子。
使用Firebase哪种逻辑更好?
答案 0 :(得分:3)
我建议您使用David的East解决方案。正如我在帖子中看到的,他使用Firebase非规范化和数据展平,这是Firebase中最常见的做法。
我还建议您阅读NoSQL Data Modeling Techniques和Structuring your Firebase Data correctly for a Complex App以便更好地理解。
如果你有SQL背景,我建议你也看一下David的东部教程The Firebase Database For SQL Developers。