put请求mongoose findOneAndUpdate不起作用

时间:2016-12-13 19:01:57

标签: node.js mongodb rest mongoose

我需要知道为什么我的put请求不起作用,我使用邮递员观看结果,我得到一个"无法放到movieID",电影ID存在

我的代码就像这样

router.put('/movies:id',function(req,res){
Movie.findOneAndUpdate(req.params.id,{title:"the gift4",releaseYear:"2012",director:"stefan",genre:"horror"},function(err){
    if(err){
        return res.send(err);
    }
    console.log({message:"movie updated"});
});
});

我有一个解决方案,我将req.body作为第二个参数,然后在postman上我定义了req.body dunno,如果这是那个案例的问题,但这个解决方案也不起作用,我在做什么错?

1 个答案:

答案 0 :(得分:1)

我发现自己的问题,问题是我正在路由到/电影:我无法获得req.params.id,因为我错过了斜线,它应该是/ movies /:id 所以正确答案就在这里:

router.put('/movies/:id',function(req,res){
     Movie.findOneAndUpdate(req.params.id,{title:"the gift4",releaseYear:"2012",director:"stefan",genre:"horror"},function(err){
         if(err){
            return res.send(err);
         }
       console.log({message:"movie updated"});
    });
});