不能将 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())...