【发布时间】:2017-09-12 13:35:41
【问题描述】:
我目前正在使用 mongodb/mongoose 开展一个项目,每次我故意查询数据库中不存在的内容时,我都会收到一个空数组的响应。这是我使用 Express 设置 API 并返回在数据库中找到的数据的代码:
app.get('/api/:id', function(req, res) {
var id = req.params.id;
Job.find({jobID: id}, function (err, foundJob) {
if (err) {
console.log(err);
}
else {
res.json(foundJob);
}
});
});
但是,每次我去 localhost:3000/api/67 (我在数据库中还没有 jobID: 67 的对象)时,控制台都不会打印错误。它给了我一个带有空数组的 JSON 响应。关于为什么会发生这种情况的任何想法?奇怪的是,当我将jobID: id 更改为_id: id 时,它确实给了我一个错误。为什么它不对jobID 字段执行此操作?
编辑:澄清一下,我不希望这种行为的原因是因为我的程序永远不会打印错误,即使我的数据库中的作业不存在指定的 jobID。
【问题讨论】: