Firestore中阵列的存储大小限制是什么?

Sha*_*i S 3 firebase google-cloud-firestore

我想知道Firestore中阵列的存储大小限制是什么。我想在数组中创建数百万个索引,并希望将数据存储为一个JSON对象。数组如下所示:

   [{id:1,name:'shakti',userdata:2122},
   {id:0.55,name:'shakti',userdata:2122},
   {id:1.58,name:'shakti',userdata:2122},
   {id:2.58,name:'shakti',userdata:2122},
   {id:1.5,name:'shakti',userdata:2122}];
Run Code Online (Sandbox Code Playgroud)

我浏览了文档,但那里没有任何适当的指南。

bso*_*sod 19

每个 Firestore 文档都可以包含1,048,576数据字节,这个限制不仅包括每个字段名称中的字符数,还包括文档本身的名称。因此,单个文档不可能包含包含数百万个项目的数组,因为文档中几乎只有一百万个可用字节。一个fruits以两个项目命名"kiwi""orange"消耗19字节的字符串数组,如果该数组中的每个项目都是一个大约那么长的字符串,则该数组最多可以达到大约 25 万个项目。

在这一点上,您可以分发数组,它只是分散负载的其他文档中的其他数组(如 Firestore 文档中描述的分布式计数器)。您可以在写入之前随机选择一个数组/文档,或者保留一个计数器来确定您接下来写入哪个数组/文档。

但此时,您最好重新考虑您的数据架构,因为 Firestore 专为包含小文档的大型集合而构建。而且——就这个答案的写作而言——集合的大小没有已知的限制。

无论您选择什么,请注意 Firestore 对每个文档的读取和写入收费 ($),因此获取包含 1,000 个项目的数组将花费您 1 次读取,而获取 1,000 个文档将花费您 1,000 次读取。


Ale*_*amo 7

对于Firestore阵列没有具体限制。该限制适用于文档,因为在Firestore中文档具有限制。因此,在文档中可以放入多少数据方面存在一些限制。根据有关使用和限制的官方文档:

文档的最大大小:1 MiB(1,048,576字节)

如您所见,单个文档中的数据总数限制为1 MiB。当我们谈论存储文本时,可以存储很多,但是随着数组变大,请注意此限制。

因此,只要您在此限制内存储数据,就不会有问题。如果您认为可以克服此限制,建议您将这些数据存储在集合中。在这种情况下,没有任何限制。您可以存储任意数量的文档。

  • @JayeshBabu在这种情况下,将无法超出限制。不会崩溃。 (2认同)