【问题标题】:Create a collection in a specific child database在特定子数据库中创建集合
【发布时间】:2020-07-05 12:42:37
【问题描述】:

我正在使用 FaunaDB 开发多租户架构,其中每个用户团队都有一个专用的子数据库。

我正在尝试在子数据库中创建一个集合 (Users),其中保存了有关团队及其用户的数据。

我正在使用 Fauna 的 Javascript 客户端。以下代码在顶级数据库中创建一个集合,而我正在尝试将其添加到子数据库中。

        var user = await faunaClient.query(
          q.Create(
            q.Collection('users'),
            { data: ctx.currentUser }
          )
        )

如何调整它以指定子数据库中的集合?

我需要在某处传递对子数据库的引用吗?还是应该使用子数据库中的密钥实例化一个新的 Fauna 客户端?

【问题讨论】:

    标签: javascript faunadb


    【解决方案1】:

    如果您拥有父数据库的管理员密钥,则可以根据该密钥从新客户端访问子数据库。像这样格式化秘密admin_secret:child_db_name:role

    【讨论】:

    • 我确认!工作精美。希望它被记录在某个地方,我希望它在未来得到改变,或者它肯定会破坏我的设置
    【解决方案2】:

    为了在子数据库上写入,您需要使用指向该数据库的键,所以是的,您需要一个新的 Fauna 客户端

    【讨论】:

    • 谢谢!所以我会为每个租户/子数据库生成一个密钥,将其保存在顶级数据库的集合中。每次我想访问有问题的子数据库时,我都需要从顶级集合中获取密钥?有没有推荐的方法来处理密钥?
    猜你喜欢
    • 1970-01-01
    • 2022-06-12
    • 2022-01-17
    • 2021-01-21
    • 1970-01-01
    • 2020-03-25
    • 2011-02-14
    • 2011-09-24
    • 2012-08-10
    相关资源
    最近更新 更多