При відправці запиту /customers/41224d776a326fb40f000001і документа з _id 41224d776a326fb40f000001не існує, docце nullі я повертаючи 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);
});
};
Однак, коли _idне відповідає тому, що Мангуст очікує як "формат" (я вважаю), наприклад, із GET /customers/fooдивною помилкою повертається:
CastError: Cast to ObjectId не вдалося для значення "foo" на шляху "_id".
То в чому ця помилка?
_idу вашій схемі Mongoose. У"bla"випадку, якщо ви використовуєте типStringзамість за замовчуванням,ObjectIdі вам не потрібно буде додавати цей чек, оскільки все може бути передано до рядка.