gpt4 book ai didi

javascript - 编写此查询的更漂亮的方式?

转载 作者:搜寻专家 更新时间:2023-10-30 23:46:03 24 4
gpt4 key购买 nike

您好,有更好/更漂亮的方式来编写此查询吗?

exports.list = function(req, res) {
if (req.user.roles.indexOf('admin') == 1) {
Timesheet.find()
.sort('-created').populate('user', 'displayName').exec(function (err, timesheets) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(timesheets);
}
});
}
else {


Timesheet.find()
.where('user').equals(req.user.id)
.sort('-created').populate('user', 'displayName').exec(function (err, timesheets) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(timesheets);
}
});
}
};

唯一不同的是,如果管理员然后添加 .where('user').equals(req.user.id)

最佳答案

要消除重复代码,您可以重构代码以仅根据用户是否处于管理员 Angular 色来更改构建查询的方式:

exports.list = function(req, res) {
var query = Timesheet.find();
if (req.user.roles.indexOf('admin') !== 1) {
query = query.where('user').equals(req.user.id);
}
query.sort('-created').populate('user', 'displayName').exec(function(err, timesheets) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.jsonp(timesheets);
}
});
}

关于javascript - 编写此查询的更漂亮的方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28345065/

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