যখন একটি অনুরোধ পাঠানোর /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" মানের জন্য ব্যর্থ হয়েছে।
তাহলে এই ত্রুটিটি কী?
_id। সেক্ষেত্রে"bla"আপনিStringডিফল্ট পরিবর্তে এক ধরণের ব্যবহার করবেনObjectIdএবং কোনও স্ট্রিংতে কিছু ফেলে দেওয়া যেতে পারে তাই আপনার এই চেকটি যুক্ত করার দরকার পড়বে না।