环回多租户数据库交换

时间:2015-04-23 01:25:35

标签: loopbackjs multi-tenant

我想在我的环回应用中实现多租户。现在,我尝试使用中间件重新定义我的数据源,以便根据请求的域为每个请求指向我的mongodb服务器上的不同数据库。代码运行,但它似乎并没有真正改变数据源。相反,它总是使用我的datasources.json中定义的那个。

现在,这就是我在做的事情。我的所有型号都参考了#34; my_db"我想为每个租户在我的mongo服务器上安装一个数据库。

var dataSourceObj = {
        my_db:{
          url: process.env.MONGOLAB_URI,
          connector: "mongodb",
          name: "my_db",
          database: tenant
        }
      }

      Object.keys(dataSourceObj).forEach(function(dataSource) {

        app.dataSources[dataSource].adapter.settings = dataSourceObj[dataSource];
        app.dataSources[dataSource].adapter.clientConfig = dataSourceObj[dataSource];
        app.dataSources[dataSource].settings = dataSourceObj[dataSource];
        app.dataSources[dataSource].connector.settings = dataSourceObj[dataSource];
        app.dataSources[dataSource].connector.clientConfig = dataSourceObj[dataSource];

      });

有没有人有任何想法?这是一种多租户的愚蠢方式吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我制作这个项目。我是一个替代方案。

https://github.com/paulomcnally/loopback-example-multitenant