作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下带有 Sequelize 数据查询的 API。
这工作正常,但我需要在模型买家地址簿中以“id”的递减顺序对记录进行排序。所以我使用了'order',但它对输出没有任何影响。它总是按递增顺序排列的。我怎么能修改这个?我是 Sequelize 的新手。
{ model: BuyerAddressBooks, attributes: { exclude: commonExcludes }, order: [['id', 'DESC']] },
这是我的 API 代码:
export const PG_getUserDetails = createContract("Any name as of now") //PG_BuyerProfile#get
.params("userId")
.schema({
userId: V.number(),
})
.fn(async (userId) => {
const user = await User.findByPk(userId, {
attributes: { exclude: commonExcludes },
include: [
{ model: PG_UserDetails, attributes: { exclude: commonExcludes } },
{
model: BuyerProfile,
attributes: { exclude: commonExcludes },
include: {
model: PhoneNumbers,
attributes: ["id", "number", "mobileVerified"],
},
},
{ model: BuyerAddressBooks, attributes: { exclude: commonExcludes }, order: [['id', 'DESC']] },
],
}).then(toPlain);
if (!user) {
throw new LogError("Profile not found", 400);
}
const { buyerProfile, buyerAddressBooks, phoneNumbers } = user;
const email = R.pathOr(user, ["userDetail", "email"], null);
return { email, ...buyerProfile, buyerAddressBooks, phoneNumbers };
})
.express({
method: "get",
path: "/buyer/pg_profile",
auth: true,
async handler(req, res) {
// @ts-ignore
const user = req.user;
console.log(`From console : ${user.id}`);
res.json(await PG_getUserDetails(+user.id));
},
});
最佳答案
include
选项没有 order
属性。您可以尝试在 order
模型的选项中指示 User
,如下所示:
await User.findByPk(userId, {
attributes: { exclude: commonExcludes },
order: [['BuyerAddressBooks', 'id', 'DESC']],
...
关于node.js - 如何对 Sequelize 中的记录进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65459143/
我是一名优秀的程序员,十分优秀!