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

Firebase Firestore中阵列的存储大小限制是什么?,firebase,google-cloud-firestore,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

我想知道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}];
我浏览了文档,但没有得到任何合适的指南。

编辑:

对于Android,有一个名为的库,它将帮助您检查最大1个MiB(1048576字节)配额


对于Firestore阵列,没有具体的限制。在文件的情况下会有限制,因为Firestore中的文件有限制。因此,当涉及到可以将多少数据放入文档时,存在一些限制。根据官方文件,关于:

文档的最大大小:1 MiB(1048576字节)

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


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

每个Firestore文档可以包含
1048576
字节的数据,该限制不仅包括每个字段名称中的字符数,还包括文档本身的名称。因此,单个文档不可能包含包含数百万项的数组,因为文档中几乎没有一百万个可用字节。一个名为
fruits
的字符串数组包含两个项目
“kiwi”
“orange”
消耗
19个字节,如果该数组中的每个项目都是一个长度约为25万个项目的字符串,则该数组的最大输出量约为25万个项目

此时,您可以分发该数组,该数组将只是其他文档中分散负载的其他数组(如Firestore文档中描述的分布式计数器)。您可以在写入之前随机选择一个数组/文档,也可以保留一个计数器来确定下一个要写入的数组/文档

但在这一点上,您最好重新考虑您的数据体系结构,因为Firestore是专门为具有小文档的大型集合而构建的。至于这个答案的写作,一个集合的大小没有已知的限制


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

如果在向数组添加30000个项目后,文档达到1MB配额,会发生什么情况?如果我再次更新阵列,应用程序会崩溃吗?或者只是阵列更新无法工作,但应用程序会运行顺利吗?@JayeshBabu在这种情况下,无法写入超过限制的内容。不会崩溃。嗨@AlexMamo,假设我的数组有30000个条目,但我的文档有100kb。如果文件的总大小小于1 MIB,就可以了。如果你仍然认为我的答案对你有帮助,请考虑通过点击复选来接受它。✔️) 在投票箭头下方的左侧。应将颜色更改为绿色。我将不胜感激。谢谢!正确。以防万一有人想知道:在本例中,每个字母是一个字节,然后firestore每个单词额外收费1个字节。请参阅: