MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongoexport с параметри + node.js + дъщерен процес

Синтаксисът за spawn е:

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

Например, извършване на ls команда с -l /home опциите ще изглеждат така:

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

Така че вашият spawn('mongoexport',['--csv']); се насочва в правилната посока, но mongoexport --csv не е валиден. Ето защо получавате грешка. mongoexport се нуждае от нещо повече от --csv . Подобно на това, което направихте по-горе, вие, например, трябва да посочите име на база данни (-d "lms" ), име на колекция (-c "databases" ), имена на полета (--fields firstname,lastname ) и т.н.

Във вашия случай трябва да е нещо подобно:

 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose презаписва документа, а не `$set` полета

  2. MomentJS не преобразува датата правилно

  3. Как да съкратим число до 3 знака след десетичната запетая

  4. Mongoid - запитване чрез рефериран документ

  5. Използване на генератори на Active Record след инсталиране на Mongoid?