Firebase Firestore:在集合中创建集合

Firebase Firestore: create collection in collection

如何像这样在集合中创建集合:

    firestore().collection('users').doc(user.uid).collection("account").doc('doc-account').set({...});

怎么做?

您的问题是关于如何在名为 users 的根 collection 下创建名为 accountsubcollection

您只需要完全按照您在问题中显示的方式进行操作,使用 doc-account DocumentReference 上的 set() 方法:尽快将第一个文档添加到account子collection,这个子collection将存在。

account子collection上使用add()方法效果相同,如下:

firestore().collection('users').doc(user.uid).collection("account").add({...});

而且您甚至不需要 users collection,即 users collection 中的文档。最后一点乍一看有点奇怪,我们举个例子来解释一下:

col1collection

下取一个doc1文件
col1/doc1/

还有一个subDoc1subCol1(分)collection

col1/doc1/subCol1/subDoc1

其实,从技术角度来说,这两个文件没有任何关联。他们只是共享他们路径的一部分,除此之外别无其他。这就是 subDoc1 文档(及其 parent subCol1 collection)可以在 doc1 不存在的情况下存在的原因。这样做的一个显着副作用是,如果您删除文档,它的 sub-collection(s) 仍然存在。