最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

为什么我在更新路径 blogs :id中使用Blog.update()函数得到此CastError(使用mongod?)>

网站源码admin24浏览0评论

为什么我在更新路径/ 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">

发布评论

评论列表(0)

  1. 暂无评论