स्पॉन का सिंटैक्स है:
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');
}
});
}