首页 > 解决方案 > 将此firebase实时数据库结构转换为firestore数据结构的最佳方法?

问题描述

我想将此firebase 实时数据库结构转换为 firestore 数据结构,请提供帮助。

我想要 Posts(collection)/pin(collection)/pid(document)/然后是 post description 这样的结构,但我知道一个集合不能包含另一个集合,所以我应该怎么做?

All_Posts 节点包含 pid 和 pin 仅用于共享该帖子,然后使用 pin 和 pid 获取帖子详细信息。

我的结构中还有一件事 Posts-->734...(pin)-->pid-->then post details 因为我想检索所有 pid 和 pin 下的详细信息。所以我应该这样做还是像 Posts-->pids(包含 pin 号)--> 然后获取详细信息。我应该做哪一个?

标签: firebasegoogle-cloud-firestore

解决方案


Cloud Firestore 数据模型

Cloud Firestore 是一个 NoSQL、面向文档的数据库。与 SQL 数据库不同,没有表或行。相反,您将数据存储在文档中,这些文档被组织成集合。

每个文档都包含一组键值对。Cloud Firestore 针对存储大量小文档进行了优化。

所有文档都必须存储在集合中。文档可以包含子集合和嵌套对象,它们都可以包含像字符串这样的原始字段或像列表这样的复杂对象。

集合和文档是在 Cloud Firestore 中隐式创建的。只需将数据分配给集合中的文档。如果集合或文档不存在,Cloud Firestore 会创建它。

访问链接以获取有关Cloud Firestore 数据模型的更多信息


您的数据库结构

关于您的案例场景,您可以在其他集合中拥有集合,这些集合称为子集合,如聊天应用程序的示例所示:

在此处输入图像描述

您可以使用Collection Group Queries访问具有相同集合 ID 的这些子集合。


将数据从 Firebase 实时数据库移动到 Cloud Firestore

为了保持这个答案简短,如果您计划将数据从 Firebase 实时数据库移动到 Cloud Firestore ,请查看此链接以咨询最佳做法和建议。


推荐阅读