2017-05-07 15 views
0

いくつかのテキストフィールドと複数の添付ファイルをポストするためのフォームがあります。これを行うために、私は添付ファイルを最初にgridfsを使ってデータベースに保存した後、そのIDをコレクションに挿入しました。問題は、添付書類のIDにアクセスする考えがないことです。ここでは、コード:NodeJSの複数のidドキュメントをコレクションmongoDBに挿入します

//Saving attachments to gridfs 
var part1 = req.files.file1; 
var part2 = req.files.file2; 
var excel = req.files.fileExcel; 
var writeImage1 = gfs.createWriteStream({ 
     filename: 'img_' + part1.name, 
     mode: 'w', 
     content_type: part1.mimetype 
    }); 

    var writeImage2 = gfs.createWriteStream({ 
     filename: 'img_' + part2.name, 
     mode: 'w', 
     content_type: part2.mimetype 
    }); 

    var writeExcel = gfs.createWriteStream({ 
     filename: 'excel_' + excel.name, 
     mode: 'w', 
     content_type: excel.mimetype 
    }); 
    writeImage1.on ('close', function (image1) { 
     console.log('Enter close writeImage1'); 
     console.log('Id image1 ', image1._id); 
    }); 

    writeImage2.on('close', function (image2) { 
     console.log('Enter close writeImage2'); 
     console.log('Id image2 ', image2._id); 
    }); 
    writeExcel.on('close', function (file) { 
     console.log('Enter close writeExcel'); 
     console.log('Id Excel ', file._id); 
    }); 

    writeImage1.write(part1.data); 
    writeImage1.end(); 

    writeImage2.write(part2.data); 
    writeImage2.end(); 

    writeExcel.write(excel.data); 
    writeExcel.end(); 
    //Save to posting collection in mongodb 
    PostingSecond.create ({ 
     name: body.name, 
     date: body.date, 
     place: body.place, 
     participant: body.participant, 
     cause: body.cause, 
     how: body.how, 
     typePosting: body.typePosting, 
     //I want to put id images here 
     imageId: [image1Id, image2Id], 
     //I want to put id file here 
     fileId: excelId 
    }, function (err, posting2) { 
     if (err) { 
      console.log(err); 
      return res.status(400).json('Failed to save document'); 
     } else { 
      res.json(posting2); 
     } 
    }); 

答えて

関連する問題