как сделать монгоэкспорт в nodejs для сбора в атласе монгодб - PullRequest
1 голос
/ 14 апреля 2020

В моем приложении node.js я использую mongoexport для экспорта данных в формат json, при этом следующий сценарий работает отлично.

var spawn = require('child_process').spawn,
ls = spawn('mongoexport',['--db', 'mydatabase','--collection', 'mycollection', '--out', 'output.json']);

, но он не работал, так как я переместил данные в Mongodb Compass Atlas. Я пытался изменить базу данных для проверки, она не работает. Обратите внимание, что у меня есть mon goose .подключение к атласу, соединение работает, так как я могу сохранить данные в коллекцию.

var spawn = require('child_process').spawn,
ls = spawn('mongoexport',['--db', 'test','--collection', 'mycollection', '--out', 'output.json']);

, затем я попробовал следующее, и оно все еще не работает

var spawn = require('child_process').spawn,
ls = spawn('mongoexport',['--uri', 'mongodb+srv://myname:mypassword@cluster0v1prw.mongodb.net/test?retryWrites=true&w=majority','--collection', 'mycollection', '--out', 'output.json']);

Есть ли другая опция, которую я могу сделать, чтобы экспортировать данные в файл json, используя node.js? ТИА.

1 Ответ

0 голосов
/ 20 апреля 2020

Вы должны передать весь параметр для mongoexport.

//Dependencies
const { exec } = require('child_process');

const exportParams =
    `mongoexport --host uriz:27017,uriy:27017,urlx:27017 --ssl --username <userName> --password <password> --authenticationDatabase admin --db dbName --collection collectionName--type json --fields --out fileName.json `


//Define the spawn function
const childSpawn = () => {
    //Get the export parameters

    // MongoDB dump child process
    const mongoDump = exec(exportParams, (error, stdout, stderr) => {

        if (error) {
            console.log(error.stack);
            console.log('Child MONGO Error code: ' + error.code);
            console.log('Child MONGO Signal received: ' + error.signal);
        }
        console.log('Child MONGO Process STDOUT: ' + stdout);
        console.log('Child MONGO Process STDERR: ' + stderr);
    });

    mongoDump.on('exit', (code) => {
        console.log('MONGO Child process exited with exit code ' + code);
    });
};

module.exports = { childSpawn }
...