在 Firestore 文档上监听文档更改非常简单并且效果很好。
我想知道是否有任何方法可以在添加/更新/删除属于该集合的文档时收到通知的方式收听集合。
到目前为止我们可以知道一个已知文档发生的所有事情,但是当然如果它是一个新文档我们肯定没有办法提前在这个文档上创建一个监听器。此外,即使我们能够提前知道新文档 ID,很明显,创建与我们在集合中的文档一样多的监听器绝对是一种糟糕的做法。
我的问题不是特定于任何语言,而是我正在使用 flutter 的信息。
Firestore 生态系统是否提供实现此目的的方法?提前致谢。
最佳答案
if it's a new document we definitely have no way to create in advance a listener on this document
事实并非如此。您可以构造一个查询,该查询将在该文档存在之前生成该文档。该查询的监听器将显示在创建事件时添加的文档,并且还满足查询的约束。
我不知道 flutter 是否有很好的文档,但是 the core documentation for realtime updates展示了如何在查询结果发生变化时获取快照变化。请注意,您可以检查生成的查询快照,了解自上一个快照传递给监听器以来已添加、删除或更改的文档。
诀窍是想出一个查询来告诉您您想知道的内容。您必须用足够的信息填充文档,以便监听器可以判断这是刚刚创建的感兴趣的文档。
关于flutter - Firestore、检测添加到集合中的新文档等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55898404/