首页 > 解决方案 > 使用 Flutter Firestore 插件,为文档中的每个子集合做一些事情

问题描述

为了帮助我更好地理解 Flutter 和 Firebase,我正在制作一个列表共享应用程序。我正在处理列表主屏幕,它将显示一个可重新排序的列表磁贴视图,其中每个用户列表都有一个磁贴,我还没有开始研究这些列表中的内容。我已经设置了firestore,以便每个列表都是一个子集合,现在我想为该用户文档中的每个子集合创建一个磁贴(该用户列表的列表)。我很难告诉颤振在不使用特定子集合名称的情况下为每个子集合做一些事情。我想通过为每个子集合(列表)创建集合引用并在每个子集合上调用 .id 来将列表标题传递给每个图块。使用集合 ID 作为标题,我' 我还不确定我是否可以这样做,或者是否必须将列表标题设置为每个列表内的字段。无论哪种方式,我都需要找出如何为特定文档中的每个子集合做一些事情。.forEach 似乎只适用于文档字段,而不适用于子集合?我究竟做错了什么?我确信有更好的方法来解决这个问题。我没有包含任何代码,因为这是一个大问题。

标签: flutterdartgoogle-cloud-firestore

解决方案


Firestore 客户端 SDK 中没有获取所有集合(或特定文档下的子集合)的方法。此类 API确实存在于服务器端 SDK 中,但不存在于客户端 SDK 中。

看:

因此,您通常需要通过更改数据模型来了解集合。例如,为每个列表的元数据创建一个文档,然后将列表存储在该文档下具有已知名称的子集合中。这样,您可以通过查询文档来获取所有列表,这在 API 中是可能的。


推荐阅读