Firestore:如何从服务器端获取更新流?

时间:2018-10-24 15:41:57

标签: firebase google-cloud-firestore

tldr:我需要在自己的后端安装Google Cloud Functions。

我编写了应用程序,该应用程序使用firebase(尤其是firestore)作为我自己在nodejs上编写的后端和客户端应用程序之间的传输层。

有时候,我需要从后端的客户端捕获一些事件,但是我想避免直接对后端执行http查询(因为我需要捕获离线状态和其他问题)。最好在Firestore文档中进行一些更改,在我的后端捕获这些更改并执行一些业务逻辑。

目前,它可以使用Cloud Functions解决,但由于事件和函数调用之间的延迟以及缺少调用顺序,因此该解决方案尚不可接受。

我的项目中当前使用的另一种解决方案是对Firestore文档进行一些更改,并在其他集合中添加称为“事件”的额外文档。在服务器端,使用firebase-admin sdk订阅该“事件”集合并获取其实时更新。

这很好用,但是看起来太复杂了。有什么办法可以从我的后端订阅以获得Firestore的所有文档的所有更新?理想的解决方案是订阅更新,就像在Cloud Functions中一样:https://firebase.google.com/docs/functions/firestore-events?authuser=0

1 个答案:

答案 0 :(得分:0)

客户端和服务器SDK不具备此功能。实际上,Cloud Functions是通知Firestore中与通配符模式匹配的更改的唯一方法。