Firestore - 用于为每个用户设置数据的逻辑集合架构?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Firestore - 用于为每个用户设置数据的逻辑集合架构?相关的知识,希望对你有一定的参考价值。
我正在尝试为我正在构建的角度应用程序实现一个结构,每个用户都有自己的数据集用于登录,因此每个用户都应拥有自己的“费用”,“联系人”,“发票”集合。
根据我的理解,因此应该存在具有用户的uid值的id的文档,这些文档通过查询用户数据的主集合的查询来访问。因此,在firestore控制台的顶级“Contacts”集合中,应该有每个用户的uid标记的文档,然后包含他们自己可用的联系人数组。
演示如下:
这看起来像是每个用户实施数据的正确方法吗?
数据建模没有单一的“正确”方法。这完全取决于我们的应用程序的用例。
一种选择是为每个用户提供一个包含文档的顶级users
集合,然后每个用户都有contacts
,expenses
和invoices
集合。
但这只是一种方式,如上所述,这一切都取决于你的用例。例如,使用上面的模型,您无法在所有用户的发票之间进行查询。如果您希望在两个用户之间共享发票,则需要将其添加到每个用户的/users/$uid/invoices
集合中。如果这不符合您的应用程序的用例,那么您可以考虑将发票存储在顶级/invoices
集合中,并从每个用户添加对它们的引用。
有一个太大的变化,以完善一个适合所有人的解决方案,这就是为什么没有标准应用程序就找不到标准数据模型的原因。这两者总是齐头并进。
要了解更多信息,我建议您阅读有关NoSQL data modeling的文章。
以上是关于Firestore - 用于为每个用户设置数据的逻辑集合架构?的主要内容,如果未能解决你的问题,请参考以下文章
我需要啥规则才能允许访问 Firestore 中的用户数据?