我在更新路径/ blogs /:id中使用Blog.update()函数得到此CastError(使用mongod?)>"/>
为什么我在更新路径/ blogs /:id中使用Blog.update()函数得到此CastError(使用mongod?)>
我遵循REST惯例,创建了一个博客站点,在编辑和更新路径期间,我对put请求使用了方法重写,但是当我提交更新的博客时,它显示此错误:
{CastError:在模型“博客”的路径“ _id”处,对值“ 5eb4e6190ce97a09f7484ed5”的对象ID转换失败信息:'在模型“博客”的路径“ _id”处,对值“ 5eb4e6190ce97a09f7484ed5”的“对ObjectId的转换失败”,名称:“ CastError”,messageFormat:未定义,stringValue:'“ 5eb4e6190ce97a09f7484ed5”',种类:未定义,值:“ 5eb4e6190ce97a09f7484ed5”,路径:“ _ id”,原因:错误:传入的参数必须是12个字节的单个字符串或24个十六进制字符的字符串]
更新路径的代码:-
app.put("/blogs/:id", function(req,res){ var ID = {_id: req.params.id}; Blog.updateOne(ID, req.body.blog, function(err , updatedBlog){ if(err){ console.log(err); res.redirect("/blogs"); } else{ res.redirect("/blogs/"+req.params.id); } }); });
这是表单提交的位置(用于放置请求的方法的重写):-
<form class="ui form" action="/blogs/ <%= blog._id %>?_method=PUT " method="POST">
请帮助我解决此问题。
我正在按照REST惯例创建博客站点,在编辑和更新路由期间,我对put请求使用了方法重写,但是当我提交更新的博客时,它显示此错误:{CastError:...
回答如下:根据评论,解决方法是删除action
的<form>
属性中的错误空间,即替换<form class="ui form" action="/blogs/ <%= blog._id %>?_method=PUT " method="POST">
更多推荐
为什么我在更新路径/ blogs /:id中使用Blog.update()函数得到此CastError(使用mongod?)>
发布评论