Loopback多租户数据库交换
我想在我的环回应用中实现多租户。现在,我正尝试使用中间件来重新定义我的数据源,以根据请求的域,为每个请求指向我的mongodb服务器上的不同数据库。代码运行,但它似乎并没有真正改变数据源。相反,它总是使用我的datasources.json中定义的那个。Loopback多租户数据库交换
现在,这就是我正在做的。我所有的模型都引用“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];
});
有没有人有任何想法?这是一个愚蠢的做多租户的方式吗?
谢谢!
我做这个项目。我不是一个选择。
https://github.com/paulomcnally/loopback-example-multitenant
Paulo我已经用这个测试了你的项目:'curl --data“username = paulomcnally1&message = Hello world”http://127.0.0.1:4000/demo1/tweets&curl --data“username = paulomcnally2&message = Hello world”http ://127.0.0.1:4000/demo2/tweets&'。在demo2数据库上记录的两条推文。并发有什么问题,或者我做错了什么? – Musma
上面代码中的'tenant'是什么? – jakerella
你有没有找到解决方案? –