Mongoose's findById
metoden kaster id
parameter til typen af modellens _id
felt, så det korrekt kan forespørge efter det matchende dokument. Dette er et ObjectId men "foo"
er ikke et gyldigt ObjectId, så castet mislykkes.
Dette sker ikke med 41224d776a326fb40f000001
fordi den streng er et gyldigt ObjectId.
En måde at løse dette på er at tilføje en check før din findById
ring for at se om id
er et gyldigt ObjectId eller ikke som det:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}