sequelize中如何根据created_at排序?
Posted
技术标签:
【中文标题】sequelize中如何根据created_at排序?【英文标题】:How Sorting according to created_at in sequelize? 【发布时间】:2020-04-15 16:32:14 【问题描述】:我正在尝试根据创建日期下订单以使用我的模型中的 created_,但每次我使用 FindAll 进行查询时,都会给我带来混乱的数据。我做了一个播种机来填充我的数据库并执行尊重测试,因为它们都是在同一日期创建的,所以即使我以递减值下订单,也会给我带来混乱的数据。我可以注意到他根据日期对我下订单,但不花时间,所以他总是以不同的顺序带我。有趣的是,我在 pgadmin 4 中打印了生成复制和粘贴的查询,我总是得到相同的结果,所以我直觉混乱不是 postgres,而是干涸本身。
查询:
const result = await this.contratoPignoraticio.findAll(
include: [
model: Persona,
include: [
model: PersonaTieneDocumentos,
include: [
model: Documentos,
]
,
model: PersonaTieneRol,
include: [
model: Oficina,
,
model: Rol,
where:
nombre: 'cliente',
,
]
]
,
model: TipoPago,
,
model: Pagos,
],
order: [
['created_at', 'DESC'],
]
);
the result of a select * from the table;
堆栈:
-
NestJS - 6.10.12
续集 Typescript - 0.6.11
PostgreSQL 11
pg - 7.12.1
【问题讨论】:
【参考方案1】:您链接的图像按日期和时间的降序返回数据,对吗?如果不是,您能否详细描述一下您的问题?
【讨论】:
您好。我把你放在上下文中,以便你更好地理解我。我正在使用 findAll 来获取我的模型的所有数据,但我要求它们按降序排列,为此我使用您在我放置的查询中看到的顺序。现在为了证明一切正常,创建一个记录 100 条记录的播种机,因为下一步是对结果进行分页。 但问题是它总是给我带来不同的顺序,当我将它配置为向我显示 sequelize 生成我的查询并且我在 postgresql 中使用它时,它会正确地给我带来数据。我放置的图像显示了生成 sequelize 的查询结果,但在 json 返回的那一刻,它总是给我带来混乱,有趣的是,如果我为另一个不会发生的属性订购它。以上是关于sequelize中如何根据created_at排序?的主要内容,如果未能解决你的问题,请参考以下文章
sequelize.js TIMESTAMP 不是 DATETIME
如何在sequelize ORM中使用从时间戳中选择并提取日期到月份和年份?
Sequelize - 如何提取具有 1 个关联记录的记录并按关联记录属性排序