【问题标题】:Subcollections in firebasefirebase 中的子集合
【发布时间】:2020-03-11 01:16:58
【问题描述】:

我正在为 SaaS 构建我的 Firestore 数据库,我认为这种结构是:

user1

-table1

--subcollection

---data


-table2

--Subcollection

---data

-tabe3

--subcollection

---row

---data

----subcollection

-----row

------data

------data


user2

-table1

--subcollection

---data

-table2

--Subcollection

---data

etc.

当一个人注册时,将为该用户创建一个集合,我将为表格使用子集合并保存信息,而无需为每个用户创建一个带有 id 的集合。

我的问题是:

我可以使用多少个子集合?影响我的数据库性能?

在这种结构中,我必须使用许多子集合。

这个结构好用吗?还是更好地使用集合并为用户使用唯一 ID?

例如:

table1


-row

--data

---id (user)

---data...



table2

-row

--data

---id (user)

---data...

etc.

这样,我不必一直使用子集合。

谢谢你的支持。

【问题讨论】:

  • 如果您将这些架构添加为屏幕截图会更有用。

标签: google-cloud-firestore saas


【解决方案1】:

我认为第二种选择是更好的解决方案。因为大型嵌套集合不是一个好主意。获取数据时,大型嵌套集合会非常慢。 您可以在用户创建的事件上使用云功能触发器。

table1

---id (user)

---data...

table2

---id (user)

---data...

【讨论】:

  • "大型嵌套集合在获取数据时会很慢" 虽然使用子集合有充分的理由,但数据检索的性能不应该是其中之一,因为数据检索的性能并不取决于集合中的数据量。
  • 那么,如果我使用嵌套子集合存在问题吗?我读了这个页面cloud.google.com/firestore/docs/concepts/structure-data,只说限制是消除子集合的困难,但用户没有消除子集合的可能性,这个链接reddit.com/r/Firebase/comments/an2xqp/…用户说这很好,因为其他用户不需要交互与 SaaS 等其他人一起使用,但对用户或付款使用根集合是可行的
猜你喜欢
  • 2020-08-19
  • 2019-12-20
  • 2020-08-28
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-31
  • 1970-01-01
相关资源
最近更新 更多