【问题标题】:Firebase functions vs Multiple requestsFirebase 函数与多个请求
【发布时间】:2017-10-18 19:12:14
【问题描述】:

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

  1. 仅保留每条评论中的 userId 并发出更多请求以获取用户个人资料数据或
  2. 复制用户个人资料和每条评论,并在用户更改姓名或头像时使用 Firebase 功能更新个人资料数据。

需要考虑的几点:

选项 1

优点

  • 使用更少的存储空间

缺点

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

选项 2

优点

  • 花费更多我们将在用户更改头像或名称时使用 Firebase 函数在后端执行

常量

  • 使用更多存储空间

例子:

// 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',
      }
    }
  }
}

【问题讨论】:

    标签: firebase firebase-realtime-database nosql


    【解决方案1】:

    这真的取决于你想要达到的目标,但总的来说,我建议你使用option 2

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

    但是您必须注意的一件事是嵌套太深也可能不好。这就是为什么我认为这真的取决于案件是否有意义。

    【讨论】:

      猜你喜欢
      • 2017-12-24
      • 1970-01-01
      • 2017-11-09
      • 2020-11-27
      • 1970-01-01
      • 2020-09-02
      • 2015-06-22
      • 2019-05-12
      • 2020-12-01
      相关资源
      最近更新 更多