不能将 id 或元素传递给 mongoose 参数
cannot pass id or element to mongoose parameters
在 MongoDB 中,使用 mongoose - 我尝试使用 findByIdAndDelete()
从集合中删除一个项目
它抛出一个错误 -
CastError: Cast to ObjectId failed for value "5f080dd69af4c61774ef447f " at path "_id" for model "Item"
我的猫鼬代码-
app.post("/del", function (req, res) {
const delItem = req.body.del;
console.log(delItem); // this one provides the exact id.
Item.findByIdAndDelete(delItem, function (err) {
if(err){
console.log(err);
}
else{
console.log("succesfully Deleted");
}
})
})
我试过 find({})
它提供了完整的数据,
但问题只是当我试图给它赋予价值时
findById({"_id: delItem})
- 它不工作
findById({"_id: "34324jj43j34"})
- 如果我手动输入它有效,
然后我把delItems的内容改成了里面的一项
find({item: delItem})
- 不工作
find({item: "item 1"})
- 工作
问题是您的 delItem
包含导致此问题的尾随空格:"5f080dd69af4c61774ef447f "
- 它应该是 "5f080dd69af4c61774ef447f"
.
您可以对值执行 trim 以防止出现此错误:
Item.findByIdAndDelete(delItem.trim())...
在 MongoDB 中,使用 mongoose - 我尝试使用 findByIdAndDelete()
从集合中删除一个项目
它抛出一个错误 -
CastError: Cast to ObjectId failed for value "5f080dd69af4c61774ef447f " at path "_id" for model "Item"
我的猫鼬代码-
app.post("/del", function (req, res) {
const delItem = req.body.del;
console.log(delItem); // this one provides the exact id.
Item.findByIdAndDelete(delItem, function (err) {
if(err){
console.log(err);
}
else{
console.log("succesfully Deleted");
}
})
})
我试过 find({})
它提供了完整的数据,
但问题只是当我试图给它赋予价值时
findById({"_id: delItem})
- 它不工作
findById({"_id: "34324jj43j34"})
- 如果我手动输入它有效,
然后我把delItems的内容改成了里面的一项
find({item: delItem})
- 不工作
find({item: "item 1"})
- 工作
问题是您的 delItem
包含导致此问题的尾随空格:"5f080dd69af4c61774ef447f "
- 它应该是 "5f080dd69af4c61774ef447f"
.
您可以对值执行 trim 以防止出现此错误:
Item.findByIdAndDelete(delItem.trim())...