Firebase功能与多个请求

时间:2017-10-18 19:12:15

标签: firebase firebase-realtime-database nosql

我是初学者使用firebase而我对重复数据有疑问而不是使用键引用。我们假设我有一个视频的用户评论列表。每个评论都有一个用户名和头像。假设用户可以更改名称和头像。有什么更好的选择:

  1. 在每条评论中仅保留userId,并提出更多请求以获取用户个人资料数据或
  2. 复制用户个人资料和每个评论,并使用firebase功能在用户更改其姓名或头像时更新个人资料数据。
  3. 要考虑的一些要点:

    选项1

    赞成

    • 使用更少的存储空间

    缺点

    • 如果我们有很多用户使用该应用程序,我们将有很多额外的请求获取名称和头像

    选项2

    赞成

    • 支出​​更多我们将在用户更改头像或名称时使用firebase功能在后端执行

    CONST

    • 使用更多存储空间

    示例:

    // OPTION 1
    {
      user: {
        user1: {
          name: 'Name 1',
          avatar: 'Avatar 1',
        }
      },
      comments: {
        comment1: {
          text: 'comment',
          user: 'user1'
        }
      }
    }
    
    // OPTION 2
    {
      user: {
        user1: {
          name: 'Name 1',
          avatar: 'Avatar 1',
        }
      },
      comments: {
        comment1: {
          text: 'comment',
          user: {
            id: 'user1',
            name: 'Name 1',
            avatar: 'Avatar 1',
          }
        }
      }
    }
    

1 个答案:

答案 0 :(得分:0)

这实际上取决于你想要达到的目标,但总的来说我会建议你选择option 2

在Firebase或NoSQL数据库中,镜像数据是一种非常好的方法。特别是如果您想构建具有高性能的应用程序。无论何时发生变化,都不要忘记更新每个节点中的数据。

但有一件事你需要注意的是,嵌套太深也可能很糟糕。这就是为什么我认为它真的取决于案件是否有所作为。