如何将很长的字符串保存到firebase firestore数据库中?
Posted
技术标签:
【中文标题】如何将很长的字符串保存到firebase firestore数据库中?【英文标题】:How to save very long string into firebase firestore database? 【发布时间】:2019-12-24 19:55:07 【问题描述】:我正在尝试将很长的字符串插入到 firebase firestore 我收到此错误消息
Exception has occurred.
PlatformException (PlatformException(Error performing setData,
INVALID_ARGUMENT: The value of property "json" is longer than 1048487 bytes., null))
我的代码是:
Future<void> addREportToDB(String addedCount, String deletCount, String updatedCount, String json)
// Map decodedCloud = jsonDecode(json);
return Firestore.instance.collection("reports").add(
"dateCreate": new DateTime.now(),
"addedCount": addedCount,
"deletCount": deletCount,
"updatedCount": updatedCount,
"json": json,
// "json":decodedCloud,
).then((doc)
print(doc.documentID.toString());
);
和 (json) 变量这是我从另一个 API 获得的文本,该文本包含 600 多名员工的数据,格式为 JSON 字符串 我只需要保存它
任何帮助将不胜感激
【问题讨论】:
如果您正在获取 json 数据,为什么不将其分解为独立的 json 样式文档。甚至可能将每个元素放入一个数组中。迭代 600 多个元素并单独处理它们而不是仅仅将它们全部存储在一个节点(字段)中应该不是什么大问题。 【参考方案1】:您无法将超出该限制的数据添加到单个文档中。因此,在您可以将多少数据放入单个文档时存在一些限制。根据usage and limits的官方文档:
文档的最大大小:1 MiB(1,048,576 字节)
如您所见,单个文档中的数据总量限制为 1 MiB。您可以使用替代解决方案来存储大量数据。您应该尝试使用Firebase Storage。
【讨论】:
好吧,如果 1 char == 8 位,则限制为大约 100 万个字符,或者? @PavelPoley 这取决于键的大小和您存储在其中的值。有一个library 可以帮助您对照最大 1 MiB(1,048,576 字节)配额检查文档的大小。 嘿阿里。我可以帮助您了解其他信息吗?如果您认为我的回答对您有所帮助,请考虑通过单击左侧投票箭头下方的复选标记(✔️)来接受它。应将颜色更改为绿色。我会很感激的。谢谢!【参考方案2】:Cloud Firestore 中文档的最大大小为 1MB。如果您想存储更多数据,请考虑将其拆分为更多文档,或者(在这种情况下更有可能)将其存储在 Cloud Storage(也存在 Flutter SDK)中。
【讨论】:
【参考方案3】:只需将它们单独保存到firestore,当您想在应用程序中使用它们时,您可以使用字符串操作将您保存的两个单独的字符串连接起来,使其成为原始长字符串
【讨论】:
以上是关于如何将很长的字符串保存到firebase firestore数据库中?的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 存储上传图像不适用于亚马逊火灾(型号:Fire 7)