flutter - Firestore、检测添加到集合中的新文档等

标签 flutter google-cloud-firestore

在 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/

相关文章:

flutter - 相等运算符 `==` 在使用 data_connection_checker 包时调用无关类型的引用

android - 函数的返回类型为 'Future<Station>',但没有以return语句flutter结尾

swift - 存储在 Firestore 中的系统日期对象的行为将发生变化,您的应用程序可能会崩溃?

javascript - 获取 Firestore 子集合的最佳方式

ios - Xcode 11 中的 iOS 构建失败

flutter - 如何知道是什么触发了我的 Flutter 小部件重建

ios - 将 getDocument 与 Firestore 链接起来?

javascript - Firebase onSnapshot 限制下载

google-app-engine - Cloud App Engine 中的函数无法读取 'seconds'?

android - Flutter 深层链接在浏览器中不起作用