findById
de Mongoose la méthode transtype le id
paramètre au type de _id
du modèle afin qu'il puisse interroger correctement le document correspondant. Ceci est un ObjectId mais "foo"
n'est pas un ObjectId valide donc le cast échoue.
Cela ne se produit pas avec 41224d776a326fb40f000001
car cette chaîne est un ObjectId valide.
Une façon de résoudre ce problème consiste à ajouter une vérification avant votre findById
appeler pour voir si id
est un ObjectId valide ou non :
if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}