首页 > 解决方案 > 旅行计划者的 Firestore 数据建模

问题描述

我正在构建一个涉及使用颤振进行旅行计划的应用程序。这个应用程序将帮助人们计划他们的旅行,为他们提供一些选择,让他们从最便宜、最快、最短等中进行选择。

我对 firebase 很陌生,我需要一些有关数据结构的建议,我正在考虑使用公共交通工具,例如train. 这列火车会有自己的时刻表。在 Firestore 内构建此时间表的最佳方式是什么?这样我就可以创建一个显示火车时刻表的视图。

标签: firebasegoogle-cloud-firestore

解决方案


如果是我,我会想清楚我打算如何与应用程序交互。我通常用手画出来,因为我发现它比尝试以电子方式建模要快得多。我同时查看其他类似的应用程序,并尝试识别丢失的数据。从简单开始并建立您想要包含的各种数据点。

主要需要注意的是,Cloud Firestore 是一个 NoSQL、面向文档的数据库;没有表格或行。您将数据存储在文档中,这些文档被组织成包含一组键值对的集合。

一旦你有了基本的结构,你就可以选择其中一种Firestore 数据结构并对其进行测试:

  • 文件
  • 多个集合
  • 文档中的子集合

嵌套数据

一个典型的用例可能涉及聊天应用程序,并且您希望将用户最近访问的三个聊天室作为嵌套列表存储在他们的个人资料中。

子集合

当您拥有可能随时间扩展的数据时,您可以在文档中创建集合;例如,您可以在聊天室文档中创建用户或消息的集合。

根级集合

您可以在根级别创建集合,为用户组织不同的数据集,为房间和消息组织另一个数据集。


推荐阅读