因此该应用程序具有用户(Firebase身份验证)
每个用户都有一些设置,然后是json“ stuff”的集合。
我的想法是让每个用户成为他们自己的根集合,然后在其中包含一个设置文档以及数据集合。理由是如果我必须删除某人及其数据,那只是删除包含所有内容的根目录?
我是否正在考虑正确的方法?我不想进入两年并且需要重构,因为它难以管理。
如果以后决定管理索引,您可能会陷入困境,因为它们需要集合和文档字段的特定名称,并且集合将以用户的UID命名。
使用动态文档字段时遇到了类似的麻烦,因此我不得不将它们包装到“ myDynamicFields”字段中,并在索引中使用它。
{
"indexes": [],
"fieldOverrides": [
{
"collectionGroup": "myCollection",
"fieldPath": "myDynamicFields",
"indexes": []
}
]
}
就像我将动态字段包装在“地图”字段中一样,您可以将设置包装在userSettings
集合中,并为每个用户准备一个文档。对于您的“数据”,同样的事情:一个userData
集合,以及每个用户的文档。然后,要删除用户,您将必须删除两个文档。