我将旅行历史记录(数组映射)存储在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上吗?
答案 0 :(得分:1)
在Firestore中,不能超过文档的最大大小。
您应该做的是将每一项数据拆分到自己的文档中,可能在嵌套在主文档下的子集合中。
答案 1 :(得分:0)
firestore文档的存储空间上限为1MB,这并不意味着开发人员必须将其填充到1MB。较重的文档将具有以下缺点:
因此,您必须在牢记这些内容的基础上对数据库进行建模。 正如道格所说,您应该将内容分成多个文档。