自动从Node.js API导出到TSV或其他excel兼容格式

我在MEAN堆栈中build立了一个查询和显示公司数据的应用程序。 他们在内部使用Power Query,因此我试图devise一个API端点,将查询结果导出为Excel兼容格式(如TSV)。 我可以使用mongoexport命令行实用程序轻松完成此任务,但是,通过Node API自动使用此实用程序时遇到困难。 根据本教程,我目前的尝试如下:

var child = require('child-process'); var exec = child.exec(); module.exports.tsvData = function (query) { //Atempted child process manipulation to use mongoexport CLI utility in this endpoint. var command = 'echo "ANDY"' child = exec(command, function (error, stdout, stderr) { sys.print('stdout: ' + stdout); sys.print('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } }); }; 

这将返回以下错误:

 TypeError: object is not a function at module.exports.tsvData (C:\Users\awimley\pstat\app_api\controllers\main.js:367:13) at callbacks (C:\Users\awimley\pstat\node_modules\express\lib\router\index.js:164:37) at param (C:\Users\awimley\pstat\node_modules\express\lib\router\index.js:138:11) at pass (C:\Users\awimley\pstat\node_modules\express\lib\router\index.js:145:5) at Router._dispatch (C:\Users\awimley\pstat\node_modules\express\lib\router\index.js:173:5) 

这是在孩子=行。 我怀疑这是因为教程已经过时,所以我尝试使用Child Process文档中的语法。 我试过了:

 child = child_process.spawn('ls', { stdio: [ 0, // use parents stdin for child 'pipe', // pipe child's stdout to parent fs.openSync('err.out', 'w') // direct child's stderr to a file ] }); 

它会返回以下错误:

  events.js:72 throw er; // Unhandled 'error' event ^ Error: spawn ENOENT at errnoException (child_process.js:1011:11) at Process.ChildProcess._handle.onexit (child_process.js:802:34) 19 Oct 09:18:44 - [nodemon] app crashed - waiting for file changes before starting... 

从Node.js API中启动命令行实用程序的任何帮助将是太棒了。

我觉得有一个名字相撞,试试这个:

 var child_process = require('child_process'); module.exports.tsvData = function(query) { var command = 'echo ANDY'; var child = child_process.exec(command, function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stderr: ' + stderr); if (error !== null) { console.log('exec error: ' + error); } }); };