生成一个应用程序以使用NodeJS从mongodb导入和导出CSV文件

时间:2019-04-11 16:31:51

标签: node.js mongodb csv

我正在尝试生成一个应用程序,以使用NodeJS从mongodb导入CSV文件和将其导出到mongodb,导入数据和fetchdata正常工作,但是exporttocsv不起作用:exporttocsv:1无法加载资源:服务器响应状态为404(未找到) 有什么帮助吗?

routes / index.js:


router.get('/', function(req, res, next) {

    res.render('index', { title: 'Import CSV using NodeJS' });

}).get('/import', function(req, res, next) {

    var  products  = []
    var csvStream = csv()
        .on("data", function(data){

         var item = new Productenter code here({
              name: data[0] ,
              price: data[1]   ,
              category: data[2],
              description: data[3],
              manufacturer:data[4] 
         });

          item.save(function(error){
            console.log(item);
              if(error){
                   throw error;
              }
          }); 

    }).on("end", function(){

    });

    stream.pipe(csvStream);
    res.json({success : "Data imported successfully.", status : 200});

  }).get('/fetchdata', function(req, res, next) {

    Product.find({}, function(err, docs) {
        if (!err){ 
            res.json({success : "Updated Successfully", status : 200, data: docs});
        } else { 
            throw err;
        }
    });

}).get('/exporttocsv', function(req, res, next) {
    var filename   = "products.csv";
    //var dataArray;
    Product.find().lean().exec({}, function(err, products) {
        if (err) res.send(err);

        res.statusCode = 200;
        res.setHeader('Content-Type', 'text/csv');
        res.setHeader("Content-Disposition", 'attachment; filename='+filename);
        res.csv(products, true);
    });
 });
module.exports = router;
public\javascripts\app.js:



$(function(){

    $("#fetchdata").on('click', function(){
        $.get( "/fetchdata", function( data ) {
            var products = data['data'];
            $("#trdata").html('');
            $("#message").hide();
            var string = '';
            $.each(products, function(index, product ) {

                string += '<tr><td>'+(index+1)+'</td><td>'+product['_id']+'</td><td>'+product['name']+'</td><td>'+product['category']+'</td><td>'+product['price']+'</td><td>'+product['manufacturer']+'</td></tr>';
            });

            $("#trdata").html(string);
        });
    });

    $("#importdata").on('click', function(){
        $.get( "/import", function( data ) {
            $("#message").show().html(data['success']);
        });
    });
    $("#exporttocsv").on('click', function(){
        $.get( "/exporttocsv", function( data ) {
            $("#message").show();
        });
    });


});

0 个答案:

没有答案