使用Node,Mongoose和Express 4将多部分表单数据保存到mongodb中

时间:2014-10-09 19:11:19

标签: node.js mongodb express mongoose

我已经看到了所有问题,但对这个简单的问题没有简单的答案:

我有一个包含少量字段和2个附件的表单。我希望他们都能被保存到一个Mongo中 文档(没有GridFS,没有本地filesytem)。我正在使用connect-busboy来解析正文。

如何处理请求以提取所有字段和附件并将其保存到我的模型中?

var model requrie ('../models/model);
router.post('/', function(req, res) {
    var modelData = {}
    req.busboy.on('file', function(fieldname, file, filename, encoding, mimetype) {

        file.on('data', function(data) {

            console.log('File [' + fieldname + '] got ' + data.length + ' bytes');
        });
        file.on('end', function() {
            Here I want to get the file into the model before saving, right?
        });
    });
    req.busboy.on('field', function(key, value, keyTruncated, valueTruncated) {
        switch (key) {
            case 'title':
                model.title = value;
                break;
             // Other fields parsing here...

        }
    });

    req.busboy.on('finish', function() {
        debugger
        var model = new Model(modelData);
        model.save(function(err) {

            res.end();
        })
        console.log('Done parsing form!');

    })
    req.pipe(req.busboy);
})

谢谢

0 个答案:

没有答案