Javascript app.patch()不起作用。get和delete起作用,但patch不起作用。是否存在任何编码错误?我做错了什么?
我想创建一个可以执行CRUD的服务器 电影模型只有一个名为title的属性 我可以创建新电影、删除电影和按电影id搜索电影,但更新不起作用。因此,我在下面显示了代码 1.获取和删除我已在邮递员身上测试并正常工作 [正如我所说,get正在发挥作用][1] 2.补丁请求不起作用 它甚至没有给出任何响应,只是加载 localhost:3000/movies/id\u of\u movie 这里的电影id是要更新的电影idJavascript app.patch()不起作用。get和delete起作用,但patch不起作用。是否存在任何编码错误?我做错了什么?,javascript,node.js,api,express,patch,Javascript,Node.js,Api,Express,Patch,我想创建一个可以执行CRUD的服务器 电影模型只有一个名为title的属性 我可以创建新电影、删除电影和按电影id搜索电影,但更新不起作用。因此,我在下面显示了代码 1.获取和删除我已在邮递员身上测试并正常工作 [正如我所说,get正在发挥作用][1] 2.补丁请求不起作用 它甚至没有给出任何响应,只是加载 localhost:3000/movies/id\u of\u movie 这里的电影id是要更新的电影id 您的express代码看起来不错,可能是您的mongoose查询遇到了您当前未处
您的express代码看起来不错,可能是您的mongoose查询遇到了您当前未处理的错误。节点将遇到一个未处理的PromiserRejection,请求将永远挂起。在承诺中添加捕获处理程序并处理错误,例如:
app.patch('/movies/:id',(req,res)=>{
console.log(req.body);
Movie.findByIdAndUpdate({
_id:req.params.id
},{
$set:req.body
}).then(()=>{
res.sendStatus({message:"success"});
}).catch(err => {
res.status(500).send(err.message);
})
});
@OP:对此有什么反馈吗?你找到什么解决方案了吗?
app.patch('/movies/:id',(req,res)=>{
console.log(req.body);
Movie.findByIdAndUpdate({
_id:req.params.id
},{
$set:req.body
}).then(()=>{
res.sendStatus({message:"success"});
}).catch(err => {
res.status(500).send(err.message);
})
});