【发布时间】:2016-03-03 04:47:11
【问题描述】:
我想为我的 firebase 帐户中的每个客户创建一个单独的 firebase 数据库。我不希望客户端数据成为单个数据库的子分支。如何在不使用 firebase 的仪表板 UI 的情况下实现这一目标?我需要以编程方式进行,因为涉及很多步骤,例如:
- 创建客户端管理员用户
- 创建预定义的客户端数据库结构
- 为客户创建许可证
- 在我的许可证数据库中存储有关新客户端的信息(单独的 firebase db)
- 为每个客户端数据库创建单独的备份脚本
如何通过 API(以编程方式)设置或获取新创建的数据库的秘密?
感谢任何帮助
【问题讨论】:
-
我们也有类似的情况,答案是没有办法在所呈现的意义上做到这一点。但是,您可以通过规则分隔您的客户。您的客户和他们的数据将存在于同一个空间中——只要它们具有相同的 JSON 结构就可以了。如果每个客户的结构不同,则可能会变得复杂,具体取决于差异有多大。我在谷歌群组One Firebase, Multiple Company Clients 中发布了这个问题
-
嗨,杰。因此,您最终拥有一个大型 Firebase 数据库,并且您将所有公司分隔在单个子分支中,对吗?像这样的东西:/
/client1/data -
这不是一个大数据库 - 它是获取您的应用程序数据的主要路径,然后是单独的子路径以获取每个客户端数据,如您的示例所示。还有其他方法可以做到这一点,但让每个“客户端节点”(路径)不同会使编写规则更容易。例如,当用户进行身份验证时,规则仅使他们能够访问自己的客户端节点内的数据。 “管理员用户”只能在他们自己的节点等内查看用户。我会说规则对我来说是一场持续的斗争,这是一件需要花费最多时间和精力才能做到正确的事情。
标签: javascript firebase firebase-tools