文件满足条件时不会调用Firestore onRemove

时间:2019-09-21 00:15:29

标签: javascript firebase google-cloud-firestore

我有一个到期条件,例如gmail,当达到到期时间后,便从查询中删除文档,但是直到重新加载或关闭应用程序后,它才起作用,而不是实时。

代码:

{{1}}

问题是它可以工作,只是不是实时的。我想念什么吗?

1 个答案:

答案 0 :(得分:0)

问题来自此行:

.where('removeAt', isGreaterThan: Timestamp.now())

这是在您运行查询时评估的,这意味着在查询开始时会设置Timestamp.now()。因此它将在您启动查询时获得未过期的文档,但是在监听器处于活动状态时不会动态更新(因为Timestamp.now()不会重新评估)。

(当前)在Firestore查询中无法动态更新时间戳。但是幸运的是,您拥有在客户端中自行实现动态到期的所有信息。由于您知道每个文档的removeAt的值,因此可以运行定期检查,并删除或隐藏在快照侦听器处于活动状态时过期的文档。