首页 > 解决方案 > 均衡查找最新创建和更新的_at

问题描述

我需要在表格中找到最新的条目。它应该同时考虑 created_at 和 updated_at 字段。如果我添加新数据,那么它应该首先出现,或者如果我编辑 a,那么它应该首先出现。

db.model.findAll({
  order: [ [ 'created_at ', 'DESC' ]]
}).then(function(data){
}); 

使用上面的代码,我只能列出基于 created_at 的条目如何结合 created_at 和 updated_at ?

标签: node.jspostgresqlsequelize.jsfindall

解决方案


您可以使用 Postgres 中的 coalesce 功能:

db.model.findAll({
  order: [ [ sequelize.fn('COALESCE', 'updated_at', 'created_at '), 'DESC' ]]
}).then(function(data){
});

coalesce 函数检查第一个参数是否为空。如果不是,则返回它,否则,它返回第二个参数。如果有两个以上的参数,则 null 检查链。


推荐阅读