1. 程式人生 > 其它 >UnhandledPromiseRejectionwarning:CastError: Cast to ObjectId failed for value

UnhandledPromiseRejectionwarning:CastError: Cast to ObjectId failed for value

技術標籤:node.js

UnhandledPromiseRejectionwarning:CastError: {解決辦法之一}

  • 錯誤緣由:我是要查詢資料庫中對應的id,進行資料刪除操作。但是得到的結果卻是報錯。

報錯資訊為:UnhandledPromiseRejectionwarning:CastError: Cast to ObjectId failed for value " 5ffbb96755245c37047691fa" at path “_id” for model "User

  • 我的錯誤是req.query.id輸出的結果和我手動輸入的id值一樣,但使用findOne()

    方法就是查詢不出來資料庫中對應的資料。然後對照終端顯示仔細看了一下,發現可能是因為空格的原因。

  • 因為req.query.id的列印結果有空格導致的錯誤。

如下所示終端顯示空格:

image-20210111193709566

使用瞭如下程式碼進行檢測得出結論:

if (req.query.id.trim() === '5ffbb8e355245c37047691f4') {
    console.log('結果一樣 ')
} else {
    console.log(req.query.id)
}

trim()方法,去掉字串兩邊的空格。本次輸出結果為:”結果一樣“。