因此应用有用户(Firebase 身份验证)
每个用户都有一些设置,然后是 json“东西”的集合。
我的想法是让每个用户成为他们自己的根集合,然后在其中有一个设置文档,以及数据集合。推理是,如果我必须删除某人及其数据,那么只需删除根目录及其中的所有内容即可?
我的思考方式正确吗?我不想花 2 年时间就需要重构,因为它难以管理。
最佳答案
如果您决定稍后管理索引,您可能会遇到死胡同,因为它们需要集合和文档字段的特定名称,并且您的集合将以用户的 UID 命名。
当我使用动态文档字段时,我遇到了类似的问题,因此我必须将它们包装到“myDynamicFields”字段中,并在我的索引中使用它。
// firestore.indexes.json
{
"indexes": [],
"fieldOverrides": [
{
"collectionGroup": "myCollection",
"fieldPath": "myDynamicFields",
"indexes": []
}
]
}
就像我将动态字段包装在“ map ”字段中一样,您可以将设置包装在 userSettings
集合中,并为每个用户提供一个文档。对于“数据”来说也是如此:一个 userData
集合,以及每个用户的一个文档。然后,要删除用户,您必须删除两个文档。
关于firebase - firestore 的正确集合结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58495377/