findById
společnosti Mongoose metoda přetypuje id
parametr na typ _id
modelu pole, aby se mohl správně dotazovat na odpovídající doc. Toto je ObjectId, ale "foo"
není platné ObjectId, takže přetypování se nezdaří.
To se nestane s 41224d776a326fb40f000001
protože tento řetězec je platné ObjectId.
Jedním ze způsobů, jak to vyřešit, je přidat šek před váš findById
zavolejte, abyste zjistili, zda id
je platné ObjectId nebo se mu to nelíbí:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}