sql >> Databáze >  >> NoSQL >> MongoDB

mongoexport s parametry + node.js + podřízený proces

Syntaxe pro spawn je:

spawn(<command>, [array of arguments]);

Například provedení ls příkaz s -l /home možnosti by vypadaly takto:

ls = spawn('ls', ['-l', '/home'];

Takže váš spawn('mongoexport',['--csv']); míří správným směrem, ale mongoexport --csv není platný. Proto se vám zobrazuje chyba. mongoexport potřebuje víc než jen --csv . Stejně jako to, co jste udělali výše, musíte například zadat název databáze (-d "lms" ), název kolekce (-c "databases" ), názvy polí (--fields firstname,lastname ), atd.

Ve vašem případě by to mělo být něco takového:

 var spawn = require('child_process').spawn;
 app.get('/export', function(req, res) {
     var mongoExport = spawn('mongoexport', [ 
         '--db', 'lms', '--collection', 'databases', 
         '--fields',
         'firstname,lastname,email,daytimePhone,addressOne,city,state,postalCode,areaOfStudy,currentEducationLevel,company',   
         '--csv'
     ]);

     res.set('Content-Type', 'text/plain');
     mongoExport.stdout.on('data', function (data) {
         if (data) {
             // You can change or add something else here to the
             // reponse if you like before returning it.  Count
             // number of entries returned by mongoexport for example
             res.send(data.toString());
         } else {
             res.send('mongoexport returns no data');
         }
     });
}


  1. 20 Pozoruhodný rozdíl mezi Hadoopem 2.x a Hadoopem 3.x

  2. Co se stane, když se při použití agregace v mongoose použije unwind na pole, které není přítomno

  3. Co znamená dokumentace MongoDB, když říká, že ObjectID jsou pravděpodobně jedinečná?

  4. Hledání MongoDB ve sbírce