我想在我的环回应用中实现多租户。现在,我尝试使用中间件重新定义我的数据源,以便根据请求的域为每个请求指向我的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];
});
有没有人有任何想法?这是一种多租户的愚蠢方式吗?
谢谢!