首页 > 解决方案 > Firestore 存储大小限制如何存储大型数组

问题描述

我得到了一个集合users/$userID/followers,这个用户 ID 是 firebase UID,所以长度为 29 个字节(字符串大小计算为 UTF-8 编码字节数 + 1。)

在每个用户文档中,我有一个名为 follower 的数组和另一个名为 follower 的数组。两个数组都包含很多用户 ID,所以这就是问题所在。

在 Firestore 中,每个文档的最大大小为 1mb,因此很容易看出我很快就会用完空间。我的问题是管理像这样的大型阵列的最佳方法是什么。

最明显的选择:创建另一个文档,仅包含一对新数组以继续保存此数据(并在达到文档限制时以递归方式执行此操作)。

所以有更好的主意吗?或者至少如何简化流程。

有关此处大小限制的更多信息: https ://firebase.google.com/docs/firestore/storage-size?hl=en-419

标签: firebasegoogle-cloud-firestore

解决方案


如果您担心数组的大小,则应该将每个项目从数组中拆分出来并使其成为自己的文档。这是使用 Firestore 实现大规模可扩展性以存储许多单个项目的唯一方法。

是的,它会花费更多。可扩展性是有代价的。


推荐阅读