为了帮助我更好地理解Flutter和Firebase,我正在制作一个列表共享应用程序。我正在使用列表主屏幕,该屏幕将显示一个可重新排序的列表图块视图,其中包含每个用户列表的图块,但我尚未开始研究这些列表中的内容。我设置了Firestore,以便每个列表都是一个子集合,现在我想为该用户文档中的每个子集合(该用户列表的列表)创建一个磁贴。我很难告诉flutter为每个子集合做一些事情而不使用特定子集合的名称。我想通过为每个子collection(list)设置collection引用并在每个sub.call上调用.id来向每个tile传递列表标题。使用集合ID作为标题,我不确定是否可以执行此操作,或者是否必须使列表标题成为每个列表中的一个字段。无论哪种方式,我都需要找出如何为特定文档中的每个子集合做一些事情。 .forEach似乎仅适用于文档字段,而不适用于子集合?我究竟做错了什么?我相信有更好的方法可以解决此问题。我没有包含任何代码,因为这是一个大问题。
答案 0 :(得分:0)
Firestore客户端SDK中没有方法来获取所有集合(或特定文档下的子集合)。这样的API 确实存在于服务器端SDK中,但不存在于客户端SDK中。
请参阅:
因此,您通常需要通过更改数据模型来了解。例如,通过为每个列表的元数据创建一个文档,然后将列表项存储在该文档下具有已知名称的子集合中。这样,您就可以通过查询文档来获取所有列表,这在API中是可能的。