我想连接到基于子域(多租户)的任何数据库,但我不知道该怎么做。
我的代码在应用程序启动时运行,但我不知道如何根据子域更改数据源。
PS:我在每个请求上都创建了中间件,但我不知道如何更改源。
我的数据库有以下代码:
import { connect, createConnection } from 'mongoose';
import { SERVER_CONFIG, DB_CONNECTION_TOKEN } from '../server.constants';
const opts = {
useCreateIndex: true,
useNewUrlParser: true,
keepAlive: true,
socketTimeoutMS: 30000,
poolSize: 100,
reconnectTries: Number.MAX_VALUE,
reconnectInterval: 500,
autoReconnect: true,
};
export const databaseProviders = [
{
provide: DB_CONNECTION_TOKEN,
useFactory: async () => {
try {
console.log(`Connecting to ${ SERVER_CONFIG.db }`);
return await createConnection(`${SERVER_CONFIG.db}`, opts);
} catch (ex) {
console.log(ex);
}
},
}
];
Run Code Online (Sandbox Code Playgroud)
我想根据子域(多租户)在每个请求中更改我的数据源