Есть библиотека для миграции БД (mongo-migrate - https://github.com/afloyd/mongo-migrate), она запускается следующей строкой в терминале nodejs:
node ./node_modules/mongodb-migrate -runmm -dbc '{"host":"localhost","db":"myDb","port":27017,"username":"user1","password":"pswd1"}' up
Мне нужно запустить эту команду внутри js-файла, пробую использовать require('child_process').exec, Но не могу понять как мне передать этот JSON как параметр в exec...
Пробовал так:
let exec = require('child_process').exec;
exec(`node ./node_modules/mongodb-migrate -runmm -dbc '{"host":"localhost","db":"myDb","port":27017,"username":"user1","password":"pswd1"}' up`,
(error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`${stdout}`);
console.log(`${stderr}`);
});
Но получаю ошибку:
exec error: Error: Command failed: node ./node_modules/mongodb-migrate -runmm -dbc '{"host":"localhost","db":"myDb","port":27017,"username":"user1","password":"pswd1"}' up
undefined:1
'{host:localhost,db:myDb,port:27017,username:user1,password:pswd1}'
^
SyntaxError: Unexpected token h in JSON at position 0
Такое ощущение что этот exec как то форматирует мою исходную строку, и убирает все ", и на выходе получается JSON невалидный...
Как мне передать JOSN как аргупент в require('child_process').exec что бы он был без изменений?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости