Ao enviar uma solicitação para /customers/41224d776a326fb40f000001e um documento com _id 41224d776a326fb40f000001não existe, docé nulle estou retornando um 404:
Controller.prototype.show = function(id, res) {
this.model.findById(id, function(err, doc) {
if (err) {
throw err;
}
if (!doc) {
res.send(404);
}
return res.send(doc);
});
};
No entanto, quando _idnão corresponde ao que o Mongoose espera como "formato" (suponho), por exemplo, com GET /customers/fooum erro estranho é retornado:
CastError: a conversão para ObjectId falhou para o valor "foo" no caminho "_id".
Então, qual é esse erro?
_idem seu esquema Mongoose. No"bla"caso, você usaria um tipo de emStringvez do padrãoObjectIde não precisaria adicionar essa verificação, pois qualquer coisa pode ser convertida em uma string.