当向发送请求到/customers/41224d776a326fb40f000001和文档_id 41224d776a326fb40f000001不存在时,docis,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并且您无需添加此检查,因为可以将任何内容强制转换为字符串。