gpt4 book ai didi

sequelize.js - 如何在 FeathersJs 中设置默认排序顺序

转载 作者:行者123 更新时间:2023-12-03 22:16:55 25 4
gpt4 key购买 nike

我对 Feathersjs 有问题,与 sequalize 集成。如果我像下面这样设置默认分页,并且没有指定排序,它会产生一个错误,因为生成的 SQL 语句无效。

使用默认值 5 创建的服务:

app.use('/manifests', service({
paginate: {
default: 5,
max: 25
}
}));

生成的 SQL 语句(设置限制为 20)
SELECT [id], ...etc
FROM [Manifest] AS [Manifest] OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY

设置默认订单是有意义的,但我不确定如何在服务中做到这一点。

我想在这种情况下实现的 SQL 语句是
SELECT [id], ...etc
FROM [Manifest] AS [Manifest] ORDER BY Date desc OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY

我想以某种方式为此设置默认值..?
app.use('/manifests', service({
paginate: {
default: 5,
max: 25
}
sort:{
default: date -1 ( or something )
}
}));

最佳答案

Feathers hooks 允许您通过添加 $sort common query parameter(如果未设置)将查询修改为您需要的内容:

app.service('/manifests').hooks({
before(context) {
const { query = {} } = context.params;

if(!query.$sort) {
query.$sort = {
date: -1
}
}

context.params.query = query;
}
});

关于sequelize.js - 如何在 FeathersJs 中设置默认排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49015012/

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