任何人都可以请帮助点为什么 Mongoose findByIdAndRemove在删除路线下面...
//DELETE Route
app.delete("/blogs/:id", function(req, res){
//Destroy blog
Blog.findByIdAndRemove(req.params.id, function(err){
if(err){
res.send(err);
} else {
res.redirect("/blogs");
}
});
});
...生成以下错误:
message: "Cast to ObjectId failed for value "5a6a8f967c9a190507b03433 " at path "_id" for model "Blog"",
name: "CastError",
stringValue: ""5a6a8f967c9a190507b03433 "",
kind: "ObjectId",
value: "5a6a8f967c9a190507b03433 ",
path: "_id"
非常感谢期待你的帮助。
3条答案
按热度按时间2ul0zpep1#
问题是从客户机发送一个16个字符长的String,而方法
findOneByIdAndRemove
需要一个ObjectId,这样做可以消除这个问题,此外,请确保
_id
的长度为16个字符,两侧不允许有空格。6vl6ewon2#
非常感谢@vicbyte和Nilesh Singh的贡献。
实际上,代码失败是由于id结尾的空格:“5a 6a 8 f967 c9 a190507 b 03433“。空格来自发出DELETE命令的表单:
修改如下表格...
...已清除错误。
bbuxkriu3#
请使用异步等待。例如: