Al enviar una solicitud a /customers/41224d776a326fb40f000001y un documento con _id 41224d776a326fb40f000001no existe, doces nully estoy devolviendo un 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);
});
};
Sin embargo, cuando _idno coincide con lo que Mongoose espera como "formato" (supongo), por ejemplo, GET /customers/foose devuelve un error extraño:
CastError: Error de conversión a ObjectId para el valor "foo" en la ruta "_id".
Entonces, ¿qué es este error?
_iden su esquema de Mongoose. En el"bla"caso de que use un tipo de enStringlugar del predeterminadoObjectIdy no necesitaría agregar esta verificación, ya que cualquier cosa se puede convertir en una cadena.