隔离查找最新创建和更新的_at

时间:2019-04-09 12:21:50

标签: node.js postgresql sequelize.js findall

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

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

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

2 个答案:

答案 0 :(得分:0)

您可以在Postgres中使用合并功能:

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

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

答案 1 :(得分:0)

    db.model.findAll({
      order: [
             [sequelize.literal('created_at, updated_at'), 'desc']
      ]
    }).then(function(data){
        console.log(data);
    });

尝试这样