Firestore-当请求文件但未找到文件或读取过期文件时触发?

时间:2019-04-27 10:43:02

标签: google-cloud-firestore google-cloud-functions document-database

我有一个应用程序,其中显示给用户的所有数据都是从Firestore文档接收的。这些文档包含用户生成的内容或从第三方API导入的数据。导入的文档包含到期时间戳。应用程序中的每个屏幕都映射到一个或多个Firestore文档路径。

如果应用程序在特定路径下请求并订阅了文档,但是找不到该文档,或者该文档已到期,我希望云功能可以从外部API(重新)导入该文档,所以我可以确保更新后的数据将很快出现在应用中。

但是,我找不到用于文档读取或未找到操作的触发器,这显然是选择。

如果无法触发读取功能,这里有哪些替代解决方案?

我正在使用react / redux / firestoreConnect来获取数据。

1 个答案:

答案 0 :(得分:1)

我了解您以某种方式从您的应用程序查询Firestore数据库以查找一个或多个文档,以防万一

  1. 该文档不存在,
  2. 该文档已存在,但已到(存储在文档中的)到期日期

您要触发一个“从外部API重新导入文档”的Cloud Function。

执行此操作的一种方法是,当您对Firestore文档的查询未返回任何文档或返回具有过期日期的文档时,会从您的应用触发Callable Cloud Function

然后在Cloud Function中,您执行API调用,更新文档,并向应用返回“成功”标志,以表明它可以重新获取Firestore文档,因为已经(重新)导入了该文档。 / p>

换句话说,您从应用程序触发(重新)导入,而不是基于Cloud Function后台触发器。

我希望这会有所帮助,如有需要,请随时询问更多详细信息/方向!