首页 > 解决方案 > 如何在 Firebase 中为房地产应用设置数据结构

问题描述

我计划使用 React 和 Firebase 为房地产系统构建 MVP。我过去使用过 SQL 数据库,因此很难理解 NoSQL 概念(集合、文档、字段)。

下面是我将在 SQL 数据库中设置的表,并想知道如何在 Firebase 中设置字段。前端客户端不应该下载不相关的文档,我们应该能够跨集合查询文档。

例如:特定家庭成员的房产地址是什么。

财产

租赁

家庭

Household-Tenancy - 将家庭与租户联系起来的表格

谢谢贾格

标签: firebasegoogle-cloud-firestore

解决方案


嗯,这个问题的范围确实很大,一个答案不能完全涵盖。

这是我尝试为您提供的起点:

注意:这适用于 Firebase Firestore(不是实时数据库)。

Firebase Firestore 架构(简要):

在 firebase 中,您有一个集合,可以说是一堆文档。现在,什么是文件?文档是您的数据所在的实际位置。因此,例如,您将拥有一个名为users的集合,其中包含所有用户的文档(数据)。

请参阅此处了解更多详细信息:Firebase Firestore 模型

你的答案(试一试):


集合属性:

这将包含所有属性的文档。每个文档都将包含属性数据(地址、单位等)。它还将包含当前租户的属性类型(房间、房屋等)UID用户在 Firebase 中的唯一 ID )(通过此您可以使用租户集合中的UID查询用户) . 该文档还将包含一个子集合-Previous Tenants,其中将包含具有先前租户详细信息的文档。这还将包含属性的所有人口统计详细信息(建议使用子集合而不是单独的集合)。

注意:Firestore 文档最多可以包含 1mib,因此如果有可能超过该限制,那么您可以将详细信息分解为子集合。


收藏 - 租户:

其中将包含所有租户的文件。每个文件都将包含租户的数据(姓名、租金等)和他当前居住的房产的文档 ID (您可以通过它查询房产)。此外,它将包含一个子集合——Previous Properties,其中包含他居住的先前属性的详细信息。

我不太清楚你所说的租金声明是什么意思,但如果它只是意味着租户必须在一周内支付的总租金,你可以直接拥有一个包含租户每周租金的子集合。


我希望我能够涵盖您列出的资产。在这些情况下,没有人能说出正确错误的数据结构。您只需要考虑最适合您的那个。

额外奖励:通过示例使用 Firestore 进行高级数据建模


推荐阅读