使用Express.js和MongoDB我想所有的老师名单时,没有与请求的URL没有查询参数,我在做类似下面的查询时,发现那么做到这一点,否则这样做,是高效就像一个条件?或任何好的建议。由于提前多种条件下GET资源的最佳做法是什么?
export const getTeachers = (req, res, next) => {
if(req.query.course_id) {
try {
Teacher.find({'course_ids':req.query.course_id}).exec()
.then((teachers) => {
if (!teachers) {
return next(errorPlaceHolder(403, false, 'no teacher found'));
}
return res.status(200).json({
success: true,
message: 'Read course teacher',
teachers: teachers
})
})
.catch((error) => {
next(error);
});
} catch (e) {
res.status(500).json({
success: false,
message: 'Error in get Teachers',
error: e
});
}
}else{
try {
Teacher.find().exec()
.then((teachers) => {
if (!teachers) {
return next(errorPlaceHolder(403, false, 'no teacher found'));
}
return res.status(200).json({
success: true,
message: 'Read all teacher',
teachers: teachers
})
})
.catch((error) => {
next(error);
});
} catch (e) {
res.status(500).json({
success: false,
message: 'Error in get Teachers',
error: e
});
}
}
}
感谢@azhar已经尝试过这种方式 –