模型"Register"的路径 "_id" 处的值"{ _id: ' 5d41e769277c0c2ab42d2f8b' }"强制转换为对象 ID 失败



每当我需要findById时,它都会给出错误,告诉我

Cast to ObjectId failed for value "{ _id: ' 5d41e769277c0c2ab42d2f8b' }" at path "_id" for model "Register"

我多次更改了代码,但尚未解决此问题:

route.post('/edit', (req,res)=>{
const fullname = req.body.fullname;
const phone = req.body.phone;
const id = req.body._id;
Register.findOne({_id:id})
.then(result => {
console.log("we findbyid the " + result);
res.redirect("/display");
})
.catch(err => {
console.log(err);
});;
Register
.findOneAndUpdate(id, { Fullname: fullname, PhoneNumber:phone } )
.then(result => {
console.log('your are update this '+result);
res.redirect("/display");
})
.catch(err => {
console.log(err);
});
}); `enter code hereenter code here
CastError: Cast to ObjectId failed for value " 5d41e769277c0c2ab42d2f8b" at path "_id" for model "Register"

我更改了几次喜欢使用findById或一段时间findByIdAndUpdate但它们会导致相同的问题。

看起来req.body._id返回的 id 的第一个位置有一个空格字符。

此外,如果req.body._id返回一个字符串则必须首先将其解析为ObjectId类型。

相关内容

最新更新