超过FireMB 1MB

时间:2020-10-16 15:13:23

标签: firebase google-cloud-firestore

我将旅行历史记录(数组映射)存储在Firestore上。尝试存储较大的数组映射(数组长度可能超过10,000)时,该应用程序崩溃了(Flutter应用程序)。并且同一文档上有30多个字段。

这是我的地图(地图列表)。

  Map<String, dynamic> toMap() => {
        "latitude": latitude,
        "longitude": longitude,
        "accuracy": accuracy,
        "altitude": altitude,
        "speed": speed,
        "speed_accuracy": speedAccuracy,
        "heading": heading,
        "time": time,
      };

有什么解决方案可以将这种数组存储在Firestore上吗?

2 个答案:

答案 0 :(得分:1)

在Firestore中,不能超过文档的最大大小。

您应该做的是将每一项数据拆分到自己的文档中,可能在嵌套在主文档下的子集合中。

答案 1 :(得分:0)

firestore文档的存储空间上限为1MB,这并不意味着开发人员必须将其填充到1MB。较重的文档将具有以下缺点:

  1. 在低位网络中,文档不会加载。
  2. 几乎不需要用户访问那么多数据。单一数据模型无法满足应用程序的所有需求,因此必须将数据拆分为多个数据模型。
  3. 查询额外数据将收取更多的出站费用。

因此,您必须在牢记这些内容的基础上对数据库进行建模。 正如道格所说,您应该将内容分成多个文档。

相关问题