如何在node js和mongoose中根据请求连接到不同的数据库



我正在开发一个具有多个用户的SaaS应用程序。所以我需要根据请求用户使用适当的数据库。下面是我的基本数据库连接:

mongoose.connect(databaseLink, {
useNewUrlParser: true,
useUnifiedTopology: true,
useFindAndModify: false,
useCreateIndex: true
})

我们可以使用createConnection代替connect连接多个数据库。但为此,我需要指定单独的模型。这里我需要为每个数据库共享相同的模型。

编辑

您可以假设所需的数据库名称将存储在req.dbName对象中。因此,当用户从client1发出请求时,req.dbName将等于client1,并且我需要为该特定请求使用client1数据库。

您可以尝试在使用相同连接池的不同数据库之间进行切换

https://mongoosejs.com/docs/api/connection.html connection_Connection-useDb

您可以简单地创建一个对象并在那里存储所有连接字符串,并且根据需要您可以使用连接字符串

var connection_string = {"user"mongodb://localhost: 27017/usercollection"marks"mongodb://localhost: 27017/markscollection"

}

最新更新