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.
}