Mongooses findById metoden castar id parameter till typen av modellens _id så att den korrekt kan söka efter det matchande dokumentet. Detta är ett ObjectId men "foo" är inte ett giltigt ObjectId så casten misslyckas.
Detta händer inte med 41224d776a326fb40f000001 eftersom den strängen är ett giltigt ObjectId.
Ett sätt att lösa detta är att lägga till en kontroll före ditt findById ring för att se om id är ett giltigt ObjectId eller inte som det:
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}