如何从Firestore获取最近一小时更新的文档?

时间:2019-02-11 06:39:52

标签: firebase elasticsearch google-cloud-firestore

我正在尝试通过使用Elasticsearch来实现Firestore DB的全文本搜索。

为了将Firestore数据同步到elasticsearch,我使用了具有Firestore更新事件的云函数,以便每当更新Firestore文档时,都会触发一个用于更新Elasticsearch的云函数。

这按预期工作。但是,这并不划算。

我想通过查询Firestore数据库中最近一小时内发生过更改的文档并更新elasticsearch,来每小时一次定期更新elasticsearch。

是否有一种方法可以仅查询最近一个小时更新的文档的Firestore?

2 个答案:

答案 0 :(得分:1)

您将需要在数据库中具有一个字段,该字段反映上次更新文档的时间。否则,您将无法建立查询以获取所需的内容。

答案 1 :(得分:0)

我知道这是一个古老的问题,但是为了实现这一点,您可以在Firestore中的文档中添加一个字段,例如“ indexed”:布尔值,并在云函数上运行cron以查询带有indexed == false的文档,然后索引将它们更改为true。