我编写了一个函数,该函数使用参数日期字符串解析从url API返回的数据,该函数根据某个日期范围过滤数据。
exports.list_FP_start_end_date_by_ID = function(req, res) {
demo_id=req.params.demo_id;
start = req.params.start;
end = req.params.end;
FP.findById(demo_id)
.exec( function(err, fps) {
if (err) {
console.log(err);
res.send(err);
}
else {
startts = +new Date(start)
endts = +new Date(end)
TSarray = []
for (let doc of fps["myColl"]) {
ts = +new Date(doc["Timestamp"])
if ((ts >= startts) && (ts <= endts)){
TSarray.push(doc)
}
}
res.json(TSarray);
}
}).catch(function(err) {
res.json(err);
})
};
Request从数组中返回相应的子文档。但是,如果我输入ID作为参数,那不存在,我收到一个错误: s.js:183 扔掉//未处理的错误&#39;事件 ^
TypeError:无法读取属性&#39; myColl&#39; null。
如果我将".exec"
更改为".then"
,它会正确捕获错误,但是,我再也无法返回正确的文档,不知何故,它会弄乱我的查询...我可以最好地捕获/处理错误,或者我应该如何修复我的查询?