Loopbackjs 环回多租户数据库交换

Loopbackjs 环回多租户数据库交换,loopbackjs,multi-tenant,Loopbackjs,Multi Tenant,我想在我的环回应用程序中实现多租户。现在,我正尝试使用中间件重新定义数据源,根据请求所在的域,为每个请求指向mongodb服务器上的不同数据库。代码运行,但它似乎没有实际更改数据源。相反,它总是使用mydatasources.json中定义的 现在,这就是我正在做的。我所有的模型都引用“my_db”,我希望在我的mongo服务器上为每个租户提供一个数据库 var dataSourceObj = { my_db:{ url: process.env.MONGOL

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

现在,这就是我正在做的。我所有的模型都引用“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];

      });
有人有什么想法吗?这是一种愚蠢的多租户方式吗


谢谢

我做这个项目。我是另一个选择


在您上面的代码中,什么是
tenant
?您找到解决方案了吗?Paulo我用以下内容测试了您的项目:'curl--data“username=paulomcnally1&message=Hello world”&curl--data“username=paulomcnally2&message=Hello world”&。两条tweet都写在demo2数据库上。并发是否有问题,或者我做错了什么?