Estoy desarrollando una aplicación SaaS con múltiples usuarios. Entonces necesito usar la base de datos apropiada de acuerdo con el usuario solicitante. A continuación se muestra mi conexión básica de base de datos.
mongoose.connect(databaseLink, { useNewUrlParser: true, useUnifiedTopology: true, useFindAndModify: false, useCreateIndex: true }) Podemos usar createConnection en lugar de connect para conectarnos a varias bases de datos. Pero para eso necesito especificar modelos separados. Aquí necesito compartir el mismo modelo para cada base de datos.
Editar
Puede suponer que el nombre de la base de datos requerida se almacenará en el objeto req.dbName . Entonces, cuando un usuario realiza una solicitud de client1 , req.dbName será igual a client1 y necesito usar la base de datos de client1 para esa solicitud en particular.
Puede probar useDb para cambiar entre diferentes bases de datos usando el mismo grupo de conexiones
https://mongoosejs.com/docs/api/connection.html#connection_Connection-useDb
simplemente puede crear un objeto y almacenar todas las cadenas de conexión allí y, según la necesidad, puede usar la cadena de conexión
var connetion_string = { "usuario":"mongodb://localhost:27017/colección de usuarios", "marcas":"mongodb://localhost:27017/colección de marcas"
}