首页 > 解决方案 > 如何从两个不同的 Firestore 查询构建 ListView?

问题描述

我有一个名为 schedule 的 Firestore 文档,它是高中足球比赛的时间表。当游戏中的分数发生变化时,文档就会更新。

每个用户在一个名为watched 的集合中都有自己的文档。这是用户选择观看的游戏,并且具有他们可以提供的额外字段,例如他们对游戏的注释。

我有一个 ListView 显示所有用户观看的游戏(他们观看的文档)。当任一文档更新时,我需要更新列表视图。

我最初的想法是让一个 StreamBuilder 绑定到计划文档,它的子节点是另一个 StreamBuilder 绑定到用户的观看文档,而那个子节点是 ListView。

这合适吗?一个缺点是,如果时间表文档中的游戏得到更新,并且它不是用户观看文档中的游戏之一,那么列表将被不必要地重建。

另一个想法是让一个 StreamBuilder 绑定到用户的观看文档,并且它有一个 ListView 的子级。然后,ListView 构建器创建另一个 StreamBuilder,它绑定到针对时间表文档的查询以获取该游戏。这意味着 ListView 将包含一个 StreamBuilder 用于监视文档中的每个项目。

做这个的最好方式是什么?

标签: google-cloud-firestoreflutter

解决方案


推荐阅读