服务器排序不适用于我。我使用ORM Sequelize。默认情况下,我必须按名称和升序排序。但是,当我想在客户端上按降序进行排序时,什么也没有发生,但是这样的请求会显示在终端中。
执行(默认):SELECT count(*)AS“ count” FROM “ spr_turbodrills” AS“ spr_turbodrills”;
执行(默认): 选择“ turbodrill_id”,“名称”,“主轴”,“ turbodrill_n”, 来自“ spr_turbodrills”的“ createdAt”,“ updatedAt”,如“ spr_turbodrills” ORDER BY“ spr_turbodrills”。“名称” ASC :LIMIT 1 OFFSET 0;
也就是说,根本没有基于sql查询进行排序。
虽然您在这里看,但一切似乎都很好。
获取/ api / directory / spr_turbodrills / all? order = desc &pageSize = 1&page = 1 200 7.805毫秒-163
控制器:
module.exports.getAllPaginate = async function (req, res) {
try {
const query = {
offset: +req.query.pageSize * ( +req.query.page - 1),
limit: +req.query.pageSize,
order: [
['name', 'ASC']
]
}
const spr_turbodrills = await SprTurbodrills.findAndCountAll(query)
res.status(200).json(spr_turbodrills)
} catch(e) {
errorHandler(res, e)
}
}
答案 0 :(得分:0)
我认为这是因为您硬编码总是在控制器中使用ASC
module.exports.getAllPaginate = async function (req, res) {
try {
const query = {
offset: +req.query.pageSize * ( +req.query.page - 1),
limit: +req.query.pageSize,
order: [
['name', req.query.order]
]
}
const spr_turbodrills = await SprTurbodrills.findAndCountAll(query)
res.status(200).json(spr_turbodrills)
} catch(e) {
errorHandler(res, e)
}
}
,然后尝试以下操作:
GET /api/directory/spr_turbodrills/all?order=DESC&pageSize=1&page=1