Node.js 如何通过管道将文件从MongoDB传输到具有GridFS的函数

Node.js 如何通过管道将文件从MongoDB传输到具有GridFS的函数,node.js,mongodb,express,gridfs,gridfs-stream,Node.js,Mongodb,Express,Gridfs,Gridfs Stream,我有一个将csv文件解析为数组的函数,因此我可以在前端显示其中的值,并使用该数组进行分页。(我使用ejs作为视图引擎)。这是函数 const parse = require('csv-parse'); function parsingCSV(filepath) { let arrayedCSV = []; return new Promise((resolve,

我有一个将csv文件解析为数组的函数,因此我可以在前端显示其中的值,并使用该数组进行分页。(我使用ejs作为视图引擎)。这是函数

const parse    = require('csv-parse');

function parsingCSV(filepath) {                         
  let arrayedCSV = [];                                  
  return new Promise((resolve, reject) => {             
    fs.createReadStream(filepath)                       
      .pipe(parse({ delimiter: ',' }))                  
      .on('data', (dataRow) => arrayedCSV.push(dataRow))
      .on('end', () => resolve(arrayedCSV));            
  });                                                   
}                                                       
我试图实现的是,我在MongoDB Atlas中有一个csv文件,如何将我的csv文件传输到上面的函数

下面是我尝试过的两个代码,但我无法实现我想要的

app.get('/csv/:filename', (req, res) => {
  gfs.files.findOne({ filename: req.params.filename }, (err, file) => {
    // Check if file
    if (!file || file.length === 0) {
      return res.status(404).json({
        err: 'No file exists'
      });
    }

    // Check if csv
    if (file.contentType === 'text/csv') {
      // Read output to browser
      const readstream = gfs.createReadStream(file.filename);
      readstream.pipe(res);
    }
  });
});
上面的代码只显示了文件的内部

app.get('/csv/:filename', (req, res) => {
  gfs.files.findOne({ filename: req.params.filename }, (err, file) => {
    // Check if file
    if (!file || file.length === 0) {
      return res.status(404).json({
        err: 'No file exists'
      });
    }

    // Check if csv
    if (file.contentType === 'text/csv' || file.contentType === 'image/png') {
      // Read output to browser
      res.set('Content-Type', file.contentType);                   
      res.set('Content-Disposition', 'attachment; filename="' + file.filename + '"');

      let readstream = gfs.createReadStream({                      
        filename: req.params.filename,                             
        root: 'resume'
      });

      readstream.on("error", function(err) {                       
        res.end();
      });

      readstream.pipe(res);
      console.log(res);
    }
  });
这段代码只是下载文件

我犯了什么错