From 5cc23d960ed1ba5962ce17fd8401dfd3e5f2eefb Mon Sep 17 00:00:00 2001 From: Fabian G Date: Wed, 19 May 2021 10:15:32 +0200 Subject: [PATCH] Update db.js The Slash before the additional parameters inside the mongoDB connectionstring gave us great headaches. After the AutoBackup initiated it immediately fails as it couldn't find the database with a trailing slash. Our connectionstring contains information for the local MongoDB User and the authentication DB. The String looks as follows (user and password have been omitted): mongodb://{{user}}:{{password}}@localhost:27017/meshcentral?authSource=admin&compressors=zlib&gssapiServiceName=mongodb --- db.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/db.js b/db.js index 8dacdfa5..68f941fc 100644 --- a/db.js +++ b/db.js @@ -1656,7 +1656,7 @@ module.exports.CreateDB = function (parent, func) { var mongoDumpPath = 'mongodump'; if (parent.config.settings.autobackup && parent.config.settings.autobackup.mongodumppath) { mongoDumpPath = parent.config.settings.autobackup.mongodumppath; } var cmd = '"' + mongoDumpPath + '"'; - if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + dburl.replace('?', '/?') + '\"'; } + if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + dburl + '\"'; } cmd += (parent.platform == 'win32') ? ' --archive=\"nul\"' : ' --archive=\"/dev/null\"'; const child_process = require('child_process'); child_process.exec(cmd, { cwd: backupPath }, function (error, stdout, stderr) { @@ -1834,7 +1834,7 @@ module.exports.CreateDB = function (parent, func) { if (parent.config.settings.autobackup && parent.config.settings.autobackup.mongodumppath) { mongoDumpPath = parent.config.settings.autobackup.mongodumppath; } const child_process = require('child_process'); var cmd = '\"' + mongoDumpPath + '\" --db=\"' + dbname + '\" --archive=\"' + newBackupPath + '.archive\"'; - if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + dburl.replace('?', '/?') + '\" --archive=\"' + newBackupPath + '.archive\"'; } + if (dburl) { cmd = '\"' + mongoDumpPath + '\" --uri=\"' + dburl + '\" --archive=\"' + newBackupPath + '.archive\"'; } var backupProcess = child_process.exec(cmd, { cwd: backupPath }, function (error, stdout, stderr) { try { var mongoDumpSuccess = true;