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