Mat*_*son 5 firebase firebase-realtime-database google-cloud-firestore
我是Firebase的新手,我正在努力使有关1-1和1-many的“关系”数据的最佳数据库模型设计成为现实。
我们正在使用Firestore数据库(而不是实时数据库)。
假设我们有Projects可以包含多个Users,并且User可以多个Projects
用户界面需要显示的列表Users中Project,显示的东西喜欢email,firstname,lastname和department。
存储关系的最佳方法是什么?
UserID 数组Project?Project文档中的ID映射?我已经阅读了推荐的上述方法,但这是否适用于实时数据库?Firestore支持Sub Collection,听起来更合适……
Users项目文档中的子集合?ProjectID 映射到UserID的单独集合?Reference数据类型?我在这里阅读了有关数据类型的https://firebase.google.com/docs/firestore/manage-data/data-typesReference,这听起来像我想要的,但是我找不到更多!如果它只是ID的映射或数组,那么您将如何检索有关用户的剩余数据?这是否必须坐在应用程序UI中?
如果它是用户文档的子集合,是否有任何方法可以维护数据完整性?如果用户更改了名称,那么UI / cloudFunction是否必须更新Sub集合中该用户名称的每个条目?
任何帮助/指针赞赏...
在 Firestore 中建模多对多关系的方法与在 Firebase 实时数据库中建模的方法几乎相同,我已在此回答:Firebase 中的多对多关系。唯一的区别确实是您可以将查找列表存储在每个项目/用户的子集合中。
查找链接项也和以前一样,它确实需要从客户端单独加载它们。这样的客户端连接并不像您最初预期的那么慢,因此在假设它可能不够快之前先对其进行测试。
确保数据完整性可以通过执行批量写入或使用事务来完成。这些要么完全成功,要么完全失败。
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |