gpt4 book ai didi

node.js - 通过多种条件获取资源的最佳实践是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 23:04:00 28 4
gpt4 key购买 nike

使用 Express.js 和 MongoDB,我想在没有带有请求 url 的查询参数时获取所有教师列表,我按照如下条件执行操作,例如找到查询时然后执行此操作,否则执行此操作,是否高效?或者有什么好的建议。提前致谢

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
});
}
}
}

最佳答案

你可以这样优化代码

var findCriteria = {}
if(req.query.course_id) {
findCriteria['course_ids'] = req.query.course_id;
}

Teacher.find(findCriteria).exec()
.then((teachers) => {

})

关于node.js - 通过多种条件获取资源的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40520532/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com