【问题标题】:Structuring a 'User-Followers" Node in Firebase在 Firebase 中构建“用户关注者”节点
【发布时间】:2017-04-07 19:03:33
【问题描述】:

在我的 Firebase 数据库中,我有一个 user-followers 节点,其中包含用户 ID 以及他们关注的用户的所有 ID

user-followers
  -F2iRZkwfuTcKUvd7uYD0jwWeJ7T2
    -KgkkWy5xesvcFcL9GMh: true
    -KgkoZpD0GP687J_5Zh5: true
    -KglKYB8Fcfbc-uwsqwX: true

当我获取用户的关注者列表时,我还需要获取一些关注者信息,例如他们的用户名、个人资料图片 url 等。数据结构如下所示

users
  -KgkkWy5xesvcFcL9GMh
    -image_url: "http://someurl.png"
    -username: "coold00d55'
    //etc...

完成此任务的最佳解决方案是什么?目前我只能想到

1) 获取关注者数组

2) 通过forEach() 单独查找每个用户信息

对我来说,这似乎不是最理想的。有没有更好的办法?也许我也可以将用户名和 image_url 存储在user-followers 下?

感谢任何输入!

【问题讨论】:

    标签: angularjs firebase firebase-realtime-database


    【解决方案1】:

    两者都是有效的选项。我唯一的建议是将您的第二个想法(存储用户名和 image_url)放在不同的节点下,以便您的用户关注者是干净的,以防您不想要该数据。根据您想要访问数据的频率,如果需要高吞吐量,第二个想法可能会更好。唯一增加的工作是您必须编写代码以确保始终更新另一个列表(也许您可以使用可用于 firebase 的新功能)。

    【讨论】:

    • 第二个选项是一个好方法,但是如果用户更新他们的个人资料(他们的个人资料图片或用户名),用户关注者数据将立即变得陈旧/过时。这能打吗?
    • 这一事实让我认为第一个选项可能是最好的,即使它会检索更多数据。虽然我总是可以分页检索到的用户数量。在我转身的任何地方都能抓住 22:|
    • 我在回答的第二部分谈到了这一点。 “唯一增加的工作是您必须编写代码以确保始终更新另一个列表”
    • 是的,我相信你是对的。我发现 Firebase Functions 似乎是最好的途径。
    • 我一直在用它们进行试验,以获得完全一样的建议。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2016-06-12
    • 2021-10-21
    • 2013-11-13
    相关资源
    最近更新 更多