【发布时间】:2021-10-19 21:34:27
【问题描述】:
我正在使用 Firestore 开发一个应用程序。我使用 Firebase 身份验证来管理用户。 问题是我的应用程序中的大部分数据都是特定于用户的。这意味着用户只能访问自己的数据。
我已经研究过 Firestore 安全规则,所以我知道如何处理安全部分。
但是,我想知道如何正确地为用户特定的数据建模。我要添加的第一条数据是 categories,它(目前)有 2 个属性:name 和 type。
经过一番研究,我发现最好创建一个名为 categories 的集合,然后为每个用户创建一个文档,每个文档都以用户 ID (UID) 命名。
但是,在这样一个特定于用户的文档中,我想添加我的类别。我想出的一种方法如下面的截图所示:
所以,用更通用的方式来描述这种方法:
- 每种数据类型的新集合(例如
categories) - 在集合内,为每个用户使用 UID 命名的单独文档
- 在每个用户特定的文档中,包含对象数据的映射(例如,
category_1映射字段为name = groceries和type = expense
然而,这里让我担心的是,我需要以某种方式发明这些地图的名称,例如 category_1、category_2 等...我感觉这个模型有问题,但我强大的 SQL 背景并没有不让我这么想????
您是否知道这个模型是否是一个好的模型,或者它以后会产生什么问题?也许您可以建议一种更好的方法来在 Firestore 数据库中对用户特定的数据进行建模?
【问题讨论】:
标签: firebase google-cloud-firestore