在关联的行中使用updatedAt进行增量更新

时间:2019-06-18 07:47:15

标签: postgresql sequelize.js

我有一个应用程序,当前每次都从服务器接收完整的数据集。我现在想切换到增量更新,因为由于更新过程冗长,一些用户开始出现应用启动缓慢的问题。

我知道,updatedAt列和使用lastUpdatedAt时间戳的查询可用于了解应将哪些行发送给客户端。

尽管这对于简单的行来说很简单,但是我在关联行中苦苦挣扎:如果模型B中的关联行B已更新(或者模型C中的行C已更新),我也想更新A。

>

什么是正确有效的查询方式?

下面看到一个示例查询,该查询尚未正确执行此操作。现在,它将仅获取模型A中具有更新的行,而忽略模型B和C中具有更新的行。

ModelA.findAll({
  where: {
    UserId: userId,
    updatedAt: { [Op.gte]: lastUpdatedAt },
  },
  include: [
     { model: ModelB, include: [{ model: ModelC }] },
  ],
})

0 个答案:

没有答案