美文网首页
nodejs+mongoDB服务器端导出csv数据下载

nodejs+mongoDB服务器端导出csv数据下载

作者: 快乐Plus | 来源:发表于2019-08-14 22:01 被阅读0次

最要用于导出大量数据
利用mongo提供的命令跟nodejs的child_process模块,百万数据导出也挺快。

代码实例是导出数据库中的user表中某批次号的会员,并直接保存到静态托管文件夹,并返回下载url给前端。
mongoexport 中-q参数可以用find的所有操作,详情可以参考child_process模块以及mongoexport

const cp = require('child_process');

exports.UserFile = async function(req,res) {

    let batch = req.query.batch;
//配置导出条件以及文件名和路径
    let cmd = "-h|127.0.0.1|--port|27017|-d|dataBase|-c|user|--type=csv|-f|name,phone|-q|"+`{'batch':'${batch}'}`+"|-o|"+`./uploads/exports/${batch}.csv`;

    cmd = cmd.split("|");
//执行命令生成csv文件
    let cat=cp.spawn('mongoexport',cmd);

    console.log('生成文件成功 : ' + code);

    cat.on('close', function(code) {
        res.send({
            Code:1,
            Msg:batch,
            Data:{
              url:`/uploads/exports/${batch}.csv`
            }
        })
      
    })

}

相关文章

网友评论

      本文标题:nodejs+mongoDB服务器端导出csv数据下载

      本文链接:https://www.haomeiwen.com/subject/qekojctx.html