Firestore:最大文档大小 1MB 是否也适用于子集合?

Firestore: Does Max Document size 1MB also apply to subcollections?

这是一个非常基本的问题,但我不确定我是否理解正确,而且我没有找到为我完全阐明它的来源。

Firestore 文档始终保存在集合中。一个集合可以包含任意数量的文档,但每个文档的最大大小为 1MB。


我看到必须以这种方式创建子集合:

DocumentReference messageRef = db
    .collection("rooms").document("roomA")
    .collection("messages").document("message1");

所以我们在文档 roomA 下有一个集合 messages。因此,整个(子)集合 messages 的最大大小也应该是 1 MB,因为它是文档的子项,所以存储在 messages 中的所有内容也存储在 roomA 中。

因此您无法在 messages 中保存那么多文档。


还是我理解错了?

我还了解到 Firestore 很肤浅。在这种情况下,这是否意味着存储在 messages 中的文档未同时存储在父文档 roomA 中?

在那种情况下,您可以根据需要拥有任意数量的 roomA 子集,只要它们的名称总和小于 1 MB?

并且每个子集合本身都可以包含任意数量的文档。


哪个是对的?

我认为这个问题在这里得到了回答:

简而言之:子集合对包含文档的大小没有影响,并且可以包含任意数量的元素(每个元素的大小限制为 1MB)