首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Multer内部的Mongoose - FindOne()

Multer内部的Mongoose - FindOne()
EN

Stack Overflow用户
提问于 2017-06-14 18:02:34
回答 0查看 119关注 0票数 0

我将formData发送到我的express应用程序,如下所示:

代码语言:javascript
复制
itemFactory.saveItem = function(item, callback){

    var formData = new FormData();

    for(var i = 0; i < item.photos.length; i++){
        formData.append('photos', item.photos[i]);
    }       
    for(var key in item){
        formData.append(key, item[key])     
    }

    return $http.post('/api/item/', formData, {
        transformRequest: angular.identity,
        headers: { 'Content-Type': undefined }
    }).success(callback);

};

我正在将一个新项目保存到我的mongoose DB中。现在,一切都运行得很完美。但我想使用mongoose findOne()来检测重复项,而不是让mongoose在写入DB时检测是否存在重复的键。因为在这个阶段,无论是否存在重复的密钥,我的图像都会被上传。因为它只检测save()上的副本

现在的问题是,在我的express应用程序中,当我使用findOne()时,Multer()还没有解码我的formData。例如:

代码语言:javascript
复制
router.post('/item', function(req, res){
    Vehicle.findOne({ id: String(req.body.id) }, function(error, item){

        var storage = multer.diskStorage({...})
        var upload = multer({
                         storage: storage
                     }).any();

        upload(req, res, function(error){
            //formData is only available here via req.body
            //and not at findOne() stage.
        });

    });
});

我不能在上传中执行findOne,因为这样文件就会被上传,然后只会检测到重复的文件。

我尝试了另一个multer().any()函数,在.post()之后获取formData,但似乎不起作用。我不认为我可以这样做:

代码语言:javascript
复制
var detectItem = multer().any()
detectItem(req, res, function(){

    Vehicle.findOne({ id: String(req.body.id) }, function(error, item){

        var storage = multer.diskStorage({...})
        var upload = multer({
                         storage: storage
                     }).any();

        upload(req, res, function(error){
            //formData is only available here via req.body
            //and not at findOne() stage.
        });

})

它似乎不喜欢我在multer函数中使用multer函数。

有什么建议吗?

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44541552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档