使用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已經嘗試過這種方式 –