【问题标题】:put request mongoose findOneAndUpdate does not work提出请求猫鼬 findOneAndUpdate 不起作用
【发布时间】:2018-08-01 20:30:20
【问题描述】:

我需要知道为什么我的 put 请求不起作用,我正在使用邮递员查看结果,我得到“无法放入 movieID”,电影 id 存在

我的put代码是这样的

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 作为第二个参数,然后在邮递员上我定义了 req.body 不知道是否是这种情况下的问题,但是这个解决方案也不起作用,我在做什么错了吗?

【问题讨论】:

  • 你能把 findOneAndUpdate 第一个参数改成 { _id : req.params.id } 试试看吗?
  • 我会发布答案,当一个人自上而下搜索错误是简单到真实:D,无论如何谢谢

标签: node.js mongodb rest mongoose


【解决方案1】:

好吧,我发现了我自己的问题,问题是我正在路由到 /movies:id 我无法获得 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"});
    });
});

【讨论】:

    猜你喜欢
    • 2013-02-13
    • 2017-09-10
    • 1970-01-01
    • 2015-09-15
    • 2020-11-13
    • 2021-09-25
    • 2017-10-05
    • 1970-01-01
    • 2016-06-20
    相关资源
    最近更新 更多