Saat mengirim permintaan ke /customers/41224d776a326fb40f000001
dan dokumen dengan _id
41224d776a326fb40f000001
tidak ada, doc
adalah null
dan saya mengembalikan 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);
});
};
Namun, ketika _id
tidak cocok dengan apa yang diharapkan Mongoose sebagai "format" (saya kira) misalnya dengan GET /customers/foo
kesalahan aneh dikembalikan:
CastError: Transmisi ke ObjectId gagal untuk nilai "foo" di jalur "_id".
Jadi apa kesalahan ini?
_id
dalam skema Mongoose Anda. Dalam"bla"
kasus ini Anda akan menggunakan jenisString
alih - alih defaultObjectId
dan Anda tidak perlu menambahkan centang ini karena apa pun dapat dilemparkan ke string.