如何在Flutter中为Firestore文档创建子集合
在Firestore文档下创建空集合的解决方案
嘿,我来帮你搞定这个问题!Firestore里的集合是惰性创建的——也就是说,空集合不会在Firebase控制台里显示出来,只有当你往集合里添加至少一个文档时,它才会真正被创建并可见。
回到你的代码,要在Users/thisdoc文档下创建集合,只需要继续链式调用.collection()方法指定集合名称就行。不过如果想让这个集合“存在”(在控制台能看到),你得往里面加一个文档,哪怕是空文档。
这里给你两种可行的代码写法:
方式1:添加自动生成ID的空文档
// 先获取目标集合的引用 final myCollection = FirebaseFirestore.instance .collection('Users') .doc("thisdoc") .collection('your-collection-name'); // 替换成你想要的集合名 // 添加一个空文档来触发集合创建 await myCollection.add({});
方式2:添加指定ID的占位文档
如果你想给占位文档指定一个明确的ID(比如placeholder),可以这么写:
final myCollection = FirebaseFirestore.instance .collection('Users') .doc("thisdoc") .collection('your-collection-name'); await myCollection.doc('placeholder').set({});
额外说明
如果你只是需要后续往这个集合里写入数据,其实完全不用提前“创建”空集合——当你第一次调用add()或set()往集合里写数据时,Firestore会自动帮你创建这个集合。所以如果你的场景是后续要往这个集合加内容,直接保留集合引用,等需要写数据的时候再操作就好啦。
内容的提问来源于stack exchange,提问作者faccio
相关产品推荐
相关产品推荐

