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