findById
do Mongoose O método converte o id
parâmetro para o tipo de _id
do modelo campo para que ele possa consultar corretamente o documento correspondente. Este é um ObjectId, mas "foo"
não é um ObjectId válido, portanto, a conversão falha. Isso não acontece com
41224d776a326fb40f000001
porque essa string é um ObjectId válido. Uma maneira de resolver isso é adicionar uma verificação antes do seu
findById
ligue para ver se id
é um ObjectId válido ou não é assim:if (id.match(/^[0-9a-fA-F]{24}$/)) {
// Yes, it's a valid ObjectId, proceed with `findById` call.
}