Bir istek gönderirken /customers/41224d776a326fb40f000001
ve bir belge _id
41224d776a326fb40f000001
yok, doc
olan null
ve ben bir iade ediyorum 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);
});
};
Bununla birlikte, _id
Mongoose'un "format" olarak beklediği şeyle eşleşmediğinde (sanırım) örneğin GET /customers/foo
garip bir hata döndürülür:
CastError: "_id" yolunda "foo" değeri için ObjectId'ye Cast başarısız oldu.
Peki bu hata nedir?
_id
Mongoose şemanızda kullanmak için yalnızca bir tür seçersiniz . In"bla"
durumda size bir tür kullanmak istiyorsunuzString
yerine varsayılanObjectId
ve şey bir dizeye dökülebilir olarak bu çeki eklemenize gerek olmazdı.