Javascript 如何使用倍数DB';在带有Sequelize的模型中的s连接?
我想在我的数据库中建立多个连接,但对任何连接使用相同的模型 我试图使用singleton模式创建一个配置连接列表,但我不知道如何继续该配置连接 数据库客户端对象Javascript 如何使用倍数DB';在带有Sequelize的模型中的s连接?,javascript,mysql,node.js,database,sequelize.js,Javascript,Mysql,Node.js,Database,Sequelize.js,我想在我的数据库中建立多个连接,但对任何连接使用相同的模型 我试图使用singleton模式创建一个配置连接列表,但我不知道如何继续该配置连接 数据库客户端对象 class DatabaseClient { constructor(username, password, database) { this.username = username; this.password = password; this.database = databa
class DatabaseClient {
constructor(username, password, database) {
this.username = username;
this.password = password;
this.database = database;
this.host = '127.0.0.1';
this.dialect = 'mysql';
this.logging = (log) => {
console.log(log)
}
}
}
与我的应用程序连接的数据库
class DatabasesConnected {
constructor() {
this.databases = []
}
addDatabase(loginUser, databaseClient) {
this.databases.push({ loginUser, databaseClient })
console.log(this.databases);
}
getDatabaseByLoginUser(loginUser) {
const database = this.databases
.filter(f => f.loginUser === loginUser)[0].databaseClient
return database;
}
getDatabase() {
return this.databases;
}
}
module.exports = new DatabasesConnected()
我希望当用户登录时,我可以使用保存在DatabasesConnected中的连接配置,但我不知道如何仅使用一个模型建立这些多个连接。为什么要为每个用户创建一个新连接?此外,筛选器返回一个数组,并且代码错误,数组的键将抛出错误。可能使用find()和null checkconst database=this.databases.find重写(f=>f.loginUser==loginUser);如果(database){return database.databaseClient;}我想这会对你有帮助,Dhananjai Pa,系统中的每个客户端都必须有一个不同的数据库,因为它不能在不同的用户之间共享,所以我不能在整个应用程序中使用数据库,非常感谢你,我现在看到了过滤器错误,为什么你要为每个用户创建一个新的连接,过滤器返回一个数组,如果代码错误,数组的键将抛出错误。可能使用find()和null checkconst database=this.databases.find重写(f=>f.loginUser==loginUser);如果(database){return database.databaseClient;}我想这会对你有帮助,Dhananjai-Pa,系统中的每个客户端都必须有一个不同的DB,因为它不能在不同的用户之间共享,所以我不能在整个应用程序中使用数据库,非常感谢你,我现在看到了过滤错误