是否可以仅在Firestore中使用QuerySnapshot检索最新文档?

问题描述 投票:0回答:1

我有一个关于QuerySnapshot的问题。例如,假设我有一个聊天应用程序。为了更新讨论,我使用连接到Firestore的StreamBuilder。我使用querySnapshot检索集合“messages”中的所有文档,每次添加消息时,都会使用新消息和所有以前的文档触发新的Query Snapshot。所以这是我的问题,如果我的收集“消息”包含10个文档,我第一次得到所有文档,所以我读了10个文档。接下来我添加一个消息,我现在在我的集合中有11个文档,然后querySnapshot将返回11个文档,即使我只需要新文档。那么最后,它会被视为11个文件读取(10 +新的)或21(10 +11)?如果它是最直接的,有没有办法只获取新文件而不是所有文件?

提前致谢。

firebase flutter google-cloud-firestore snapshot
1个回答
0
投票

只要侦听器附加到查询,只要它们不变,就不会从服务器重新读取任何文档。每次更改都会为侦听器提供整个集合,但如果未更改,则会从内存中传递它们。您只是在每次回调时获得更改,您甚至可以每次都使用check to see exactly what changed

© www.soinside.com 2019 - 2024. All rights reserved.