如何在 Firebase 中设计实时数据库以实现扩展?

How do I design Realtime Database in Firebase to scale?

他们在 Firebase 数据组织文档中提供了以下示例。 当最终有 10,000 个用户注册时会发生什么,但我决定添加另一个组?您必须写一些东西来添加组,每个现有用户都附加到该组,以及将每个现有用户添加到新的组条目?是吗?

// An index to track Ada's memberships
{
  "users": {
  "alovelace": {
  "name": "Ada Lovelace",
  // Index Ada's groups in her profile
  "groups": {
     // the value here doesn't matter, just that the key exists
     "techpioneers": true,
     "womentechmakers": true
  }
},
...
},
"groups": {
  "techpioneers": {
    "name": "Historical Tech Pioneers",
    "members": {
      "alovelace": true,
      "ghopper": true,
      "eclarke": true
    }  
},
...

我正在使用 React-Native 构建一个小游戏,并将 Firebase 中的实时数据库用于我的数据库。我正在构建一个自定义部分,用户可以在其中购买以解锁更多自定义项。如果他们购买了一件商品,它将设置 effect/{purchasedId}/members/{uid}/({isPurchased:true}) ,然后将显示在我的 CustomizedSection 中,其中包含 getCustomizablesForUserByUserId。

如果我想要添加更多效果,是否只需添加一个新效果并将每个成员 ID 附加到它?

谢谢!

What happens when there are eventually 10,000 users signed up, but I decide to add another group? You'd have to write something to add the group with every existing user attached to that group as well as add every existing user to the new group entry? Is that right?

确实是这样。此过程称为回填,在使用无模式 NoSQL 数据库时是一个正常(有时相当大)的问题。