Fix connection to mongodb via database url if a ssh tunnel is used

* Replaces the the port with the tunnel port in the url
This commit is contained in:
Gernot Pansy
2022-11-03 11:01:24 +01:00
parent 9b60b7a003
commit 4da0b25f44

View File

@@ -48,16 +48,17 @@ const driver = {
...driverBase,
analyserClass: Analyser,
async connect({ server, port, user, password, database, useDatabaseUrl, databaseUrl, ssl }) {
// let mongoUrl = databaseUrl;
// if (!useDatabaseUrl) {
// mongoUrl = user ? `mongodb://${user}:${password}@${server}:${port}` : `mongodb://${server}:${port}`;
// if (database) mongoUrl += '/' + database;
// }
const mongoUrl = useDatabaseUrl
? databaseUrl
: user
let mongoUrl;
if (useDatabaseUrl) {
// change port to ssh tunnel port
const url = new URL(databaseUrl);
url.port = port;
mongoUrl = url.href;
} else {
mongoUrl = user
? `mongodb://${user}:${password}@${server}:${port}`
: `mongodb://${server}:${port}`;
}
const options = {
useUnifiedTopology: true,