Saat mengirim permintaan ke /customers/41224d776a326fb40f000001dan dokumen dengan _id 41224d776a326fb40f000001tidak ada, docadalah nulldan 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 _idtidak cocok dengan apa yang diharapkan Mongoose sebagai "format" (saya kira) misalnya dengan GET /customers/fookesalahan aneh dikembalikan:
CastError: Transmisi ke ObjectId gagal untuk nilai "foo" di jalur "_id".
Jadi apa kesalahan ini?
_iddalam skema Mongoose Anda. Dalam"bla"kasus ini Anda akan menggunakan jenisStringalih - alih defaultObjectIddan Anda tidak perlu menambahkan centang ini karena apa pun dapat dilemparkan ke string.