Firebase Firestore:在集合中创建集合
Firebase Firestore: create collection in collection
如何像这样在集合中创建集合:
firestore().collection('users').doc(user.uid).collection("account").doc('doc-account').set({...});
怎么做?
您的问题是关于如何在名为 users
的根 collection 下创建名为 account
的 subcollection。
您只需要完全按照您在问题中显示的方式进行操作,使用 doc-account
DocumentReference
上的 set()
方法:尽快将第一个文档添加到account
子collection,这个子collection将存在。
在account
子collection上使用add()
方法效果相同,如下:
firestore().collection('users').doc(user.uid).collection("account").add({...});
而且您甚至不需要 users
collection,即 users
collection 中的文档。最后一点乍一看有点奇怪,我们举个例子来解释一下:
在col1
collection
下取一个doc1
文件
col1/doc1/
还有一个subDoc1
下subCol1
(分)collection
col1/doc1/subCol1/subDoc1
其实,从技术角度来说,这两个文件没有任何关联。他们只是共享他们路径的一部分,除此之外别无其他。这就是 subDoc1
文档(及其 parent subCol1
collection)可以在 doc1
不存在的情况下存在的原因。这样做的一个显着副作用是,如果您删除文档,它的 sub-collection(s) 仍然存在。
如何像这样在集合中创建集合:
firestore().collection('users').doc(user.uid).collection("account").doc('doc-account').set({...});
怎么做?
您的问题是关于如何在名为 users
的根 collection 下创建名为 account
的 subcollection。
您只需要完全按照您在问题中显示的方式进行操作,使用 doc-account
DocumentReference
上的 set()
方法:尽快将第一个文档添加到account
子collection,这个子collection将存在。
在account
子collection上使用add()
方法效果相同,如下:
firestore().collection('users').doc(user.uid).collection("account").add({...});
而且您甚至不需要 users
collection,即 users
collection 中的文档。最后一点乍一看有点奇怪,我们举个例子来解释一下:
在col1
collection
doc1
文件
col1/doc1/
还有一个subDoc1
下subCol1
(分)collection
col1/doc1/subCol1/subDoc1
其实,从技术角度来说,这两个文件没有任何关联。他们只是共享他们路径的一部分,除此之外别无其他。这就是 subDoc1
文档(及其 parent subCol1
collection)可以在 doc1
不存在的情况下存在的原因。这样做的一个显着副作用是,如果您删除文档,它的 sub-collection(s) 仍然存在。