Javascript id上的强制转换错误,其余字段工作正常

Javascript id上的强制转换错误,其余字段工作正常,javascript,html,mongodb,web,restful-authentication,Javascript,Html,Mongodb,Web,Restful Authentication,我跳过了不必要的代码。我收到的错误已粘贴在下面。 只需要帮助我找出我博客的原因。_id不能正常工作,其余的标题、图片、正文都正常工作。Console.log正在打印日志。\u id未定义。任何帮助都将不胜感激。谢谢 {CastError:对于模型“Blog”的路径“\u id”处的值“5ae8264a3812d31e7ac0c7c2”,转换为ObjectId失败 请不要发布图片,只需包含文本即可。但是你的“图片”在id的字符串值前面清楚地显示一个前导空格。请修剪前导空格以更正错误。我没有在我的整

我跳过了不必要的代码。我收到的错误已粘贴在下面。 只需要帮助我找出我博客的原因。_id不能正常工作,其余的标题、图片、正文都正常工作。Console.log正在打印日志。\u id未定义。任何帮助都将不胜感激。谢谢

{CastError:对于模型“Blog”的路径“\u id”处的值“5ae8264a3812d31e7ac0c7c2”,转换为ObjectId失败


请不要发布图片,只需包含文本即可。但是你的“图片”在id的字符串值前面清楚地显示一个前导空格。请修剪前导空格以更正错误。我没有在我的整个代码中声明id值。我只是通过req.params.id和blog直接从mongodb数据库导入它。我是一个初学者。请您更具体一点。
req.params.id
值的开头有一个“空格”。请使用
req.params.id=req.params.id.trim()清除它
在发送到mongoose方法之前。您可能真的应该查看发送请求的代码,因为空间真的不应该在那里。但无论如何进行清理都很好。mongoose没有这样做有点奇怪。非常感谢它的工作。我所遵循的教程不需要。trim()所以就卡在那里了。如前所述,你不应该“需要”修剪。我猜下面是你在客户端html中点击链接的任何教程。问题是,在生成此链接时,你有一个“前导空格”。因此,这可能来自你自己的模板代码,你会在那里出现错误。
var blogSchema = new mongoose.Schema({
    title: String,
    image: String,
    body: String,
    created: {type: Date, default: Date.now}
});

app.put("/blogs/:id",function(req,res){
Blog.findByIdAndUpdate(req.params.id, req.body.blog ,function(err,updateBlog){
    if(err){
        console.log(err);
        console.log(req.body.blog._id);
        console.log(req.body.blog.title);
        console.log(req.body.blog.image);
        console.log(req.body.blog.body);
    }
    else{
        res.redirect("/blogs/" + req.params.id);
    }
});