firebase - 如何在 Firebase 中为房地产应用设置数据结构
问题描述
我计划使用 React 和 Firebase 为房地产系统构建 MVP。我过去使用过 SQL 数据库,因此很难理解 NoSQL 概念(集合、文档、字段)。
下面是我将在 SQL 数据库中设置的表,并想知道如何在 Firebase 中设置字段。前端客户端不应该下载不相关的文档,我们应该能够跨集合查询文档。
例如:特定家庭成员的房产地址是什么。
财产
- 货品代码
- 开始日期
- 结束日期
- 物业类型 - (独立屋、单元、别墅)
- 财产来源-(开发商,住房,自我)
- 地址(州、邮政编码\邮政编码、郊区、街道)
租赁
- 租户 ID
- PropCode - 指向属性表的链接
- 租约开始日期
- 租约结束日期
- 租赁类型(长期、短期)
家庭
- HHID - 家庭 ID
- HHMID - 家庭成员 ID。家庭中的每个成员都被分配了一个 ID
- 名
- 姓
- 出生日期
- 电子邮件
- HHM 开始日期
- HHM 结束日期
Household-Tenancy - 将家庭与租户联系起来的表格
- 租户 ID
- HHID
谢谢贾格
解决方案
嗯,这个问题的范围确实很大,一个答案不能完全涵盖。
这是我尝试为您提供的起点:
注意:这适用于 Firebase Firestore(不是实时数据库)。
Firebase Firestore 架构(简要):
在 firebase 中,您有一个集合,可以说是一堆文档。现在,什么是文件?文档是您的数据所在的实际位置。因此,例如,您将拥有一个名为users的集合,其中包含所有用户的文档(数据)。
请参阅此处了解更多详细信息:Firebase Firestore 模型
你的答案(试一试):
集合属性:
这将包含所有属性的文档。每个文档都将包含属性数据(地址、单位等)。它还将包含当前租户的属性类型(房间、房屋等)和UID(用户在 Firebase 中的唯一 ID )(通过此您可以使用租户集合中的UID查询用户) . 该文档还将包含一个子集合-Previous Tenants,其中将包含具有先前租户详细信息的文档。这还将包含属性的所有人口统计详细信息(建议使用子集合而不是单独的集合)。注意:Firestore 文档最多可以包含 1mib,因此如果有可能超过该限制,那么您可以将详细信息分解为子集合。
收藏 - 租户:
其中将包含所有租户的文件。每个文件都将包含租户的数据(姓名、租金等)和他当前居住的房产的文档 ID (您可以通过它查询房产)。此外,它将包含一个子集合——Previous Properties,其中包含他居住的先前属性的详细信息。我不太清楚你所说的租金声明是什么意思,但如果它只是意味着租户必须在一周内支付的总租金,你可以直接拥有一个包含租户每周租金的子集合。
我希望我能够涵盖您列出的资产。在这些情况下,没有人能说出正确或错误的数据结构。您只需要考虑最适合您的那个。
推荐阅读
- javascript - 摇树不适用于 webpack 4 和 semantic-ui-react
- reactjs - Realm 是否具有类似于 firebase 的 onAuthStateChanged 的功能来监听用户身份验证状态?
- java - Java 沙盒和 ProcessBuilder
- c++ - Qt - 将 void 指针(原始数据)转换为 QImage 并将其显示在标签上
- c++ - 如何退出拆分为多个文件的分层 SM 中的子机?(使用升压::MSM)
- django - 如何在 Django 中使用额外条件离开外部连接
- python - 如何在 Tensorflow 的神经网络的一层中实现不同的激活函数?
- android - 计算捕获图像中的人数
- objective-c - NSPopUpButton:NSPopUpButtonCell 已弃用?
- html - 导航栏中下拉菜单列表中的第二列