findById Mongoose metoda rzutuje id parametr do typu modelu _id tak, aby mógł poprawnie wyszukać pasujący dokument. To jest ObjectId, ale "foo" nie jest prawidłowym identyfikatorem obiektu, więc rzutowanie się nie powiedzie.
Tak się nie dzieje w przypadku 41224d776a326fb40f000001 ponieważ ten ciąg jest prawidłowym identyfikatorem obiektu.
Jednym ze sposobów rozwiązania tego problemu jest dodanie czeku przed findById zadzwoń, aby sprawdzić, czy id jest prawidłowym identyfikatorem ObjectId lub nie tak:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}