【发布时间】:2018-05-19 02:58:14
【问题描述】:
我有一个非常简单的应用程序,其想法是某人具有唯一代码,其值存储在一个 mongo 集合中,而我们保留一些数据,如果在第一个集合中找到键,我们需要返回这些数据。
您可能已经注意到我将 NodeJS 与 MongoDB 和 Mongoose, Express 一起使用。
我对下面的方法有疑问:
exports.getCompanyByKey = function(req, res) {
console.log(req.params.keyvalue);
var query = Company.where({keyValue : req.params.keyvalue});
query.findOne(function(err, company){
if(err){
res.send(err);
}else{
SampleData.findOne({}, function(err, sample_data){
if(err)
res.send(err);
res.json(sample_data);
});
}
});
};
问题是它总是会返回数据,因为它不是抛出错误而是空数组 - 所以有没有其他好的和正确的方法,因为它应该在没有声明的情况下抛出 404 错误,例如if(length<0) res.status(404).send('Error message)。
我只是想尽量减少if 语句的数量。
也许还有其他方法可以为 mongoose 编写实现和错误处理,通常返回空数组会给我们提供带有消息的错误代码?
【问题讨论】:
-
@jfriend00 你说得对,所以我已经删除了 - 谢谢。
标签: node.js rest express mongoose