我正在制作像ios app这样的Twitter(只是为了练习我的编程)。我只是想知道,因为我无法在网上找到这些东西,在Firebase中实施跟随/关注系统的最佳方式(或最理想的方式)是什么?就像Mark跟随Derek一样,然后Derek发了一条推文,然后Mark在他的家庭饲料中得到了Derek的推文。
如果有人可以就此分享他们的想法,那将会很棒。
答案 0 :(得分:0)
一种方法是:如果用户A激活用户B的跟随功能,则用户B的uid进入用户A的跟随节点,用户A进入用户B的跟随者节点。
之后,有多种方法可以实现Feed。一种方法是转到用户B的推文并将它们推送到用户A的订阅源。如果用户B发布推文,则通过他的关注者循环并将该推文的密钥推送到其关注者的订阅源。因此,用户A现在在其feed节点上具有旧的推特密钥和潜在的新推特密钥。您现在可以遍历这些键并从alltweets节点获取数据。
另一种方法是让用户A遍历他的跟随节点,并从他们的推文节点获取他所关注的所有人的推文。您可以加入这些推文并按日期排序。现在只需要在一个用户的alltweets-node和tweets-node中发布推文,而不是将推文密钥推送到他所拥有的每个粉丝的feed节点。
实现这一目标只有两种方法,根据你想要实现的目标,肯定有更多的方法可以做到这一点。