我想在我的环回应用程序中实现 Multi-Tenancy 。现在,我正在尝试使用中间件重新定义我的数据源,以根据请求的域为每个请求指向 mongodb 服务器上的不同数据库。代码运行,但它似乎并没有真正改变数据源。相反,它总是使用我的 datasources.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];
});
有没有人有任何想法?这是进行 Multi-Tenancy 的愚蠢方式吗?
谢谢!
最佳答案
我做这个项目。我不是替代品。
https://github.com/paulomcnally/loopback-example-multitenant
关于loopbackjs - 环回 Multi-Tenancy 数据库交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29811959/