我目前正在使用mongodb/mongoose进行一个项目,每次我故意查询DB中不存在的内容时,我都会收到一个空数组的响应。这是我用快递建立的API,并返回在数据库中找到的数据代码:MongoDB/Mongoose返回空数组
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(我有作业ID没有对象: 67在数据库中),控制台不打印错误。它给了我一个空数组的JSON响应。任何想法为什么发生这种情况?奇怪的是,当我将jobID: id
更改为_id: id
时,它确实给了我一个错误。为什么不这样做jobID
字段?
编辑:只是为了澄清,我不希望这种行为的原因是因为我的程序将永远不会打印错误,即使我的数据库中的作业不存在与指定的jobID。
这产生了和以前相同的结果:/ – calviners
@calviners我编辑了代码,现在就试试。 – someRandomSerbianGuy
@calviners我第三次编辑它。这应该工作100%。 – someRandomSerbianGuy