에 요청 보낼 때 /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 : "_id"경로의 "foo"값에 대해 ObjectId로 캐스트하지 못했습니다.
그렇다면이 오류는 무엇입니까?
_id
Mongoose 스키마에서 사용할 유형을 하나만 선택하면됩니다 . 에서"bla"
경우에 당신은 유형 사용하는 것String
대신에 기본을ObjectId
하고 당신은 아무것도를 문자열로 캐스팅 될 수 있기 때문에이 검사를 추가 할 필요가 없습니다 것입니다.