【问题标题】:Is Firebase Firestore real-time updates using Cloud functions possible?Firebase Firestore 是否可以使用 Cloud 功能进行实时更新?
【发布时间】:2021-02-13 19:47:10
【问题描述】:
通过这个blog,我可以看到我的应用最好使用 Firebase Cloud 功能用于 Firebase Firestore,而不是使用客户端 SDK 直接访问 Firestore。
我可以使用get() 实现Firestore READ 操作,使用set() 或update() 实现WRITE 操作&
使用delete() 方法删除。所有这些一次性操作都很好。
是否可以实现addSnapshotListener 来获取实时更新?如果是,怎么做?
【问题讨论】:
标签:
firebase
google-cloud-firestore
google-cloud-functions
【解决方案1】:
虽然从技术上讲可以使用addSnapshotListener,但在很多用例中这是有意义的。
Cloud Functions 的生命周期很短,最长为 9 分钟,因此不太适合需要长时间监听数据库的场景。
通常,您需要定义一个单独的云函数来响应您本来想听的内容。
【解决方案2】:
实时侦听器与 Cloud Functions 的工作方式不兼容。函数只能运行有限的时间,并在超时到期后关闭。数据库侦听器是不确定的,并且将继续侦听直到它们被删除。如果在函数内部添加监听,在函数超时后系统仍会关闭。
我不清楚为什么在云函数中需要一个监听器,但考虑到函数的工作方式,这几乎肯定不是正确的做法。