如何将很长的字符串保存到Firebase Firestore数据库中?

时间:2019-08-19 15:03:07

标签: json firebase flutter dart google-cloud-firestore

我正在尝试将很长的字符串插入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获得的文本,并且此文本包含JSON字符串形式的600多名员工的数据 我需要将其保存为它

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:1)

您无法将超出该限制的数据添加到单个文档中。因此,在一个文档中可以放入多少数据有一些限制。根据有关usage and limits的官方文档:

  

文档的最大大小:1 MiB(1,048,576字节)

如您所见,单个文档中的数据总数限制为1 MiB。您可以使用替代解决方案来存储大量数据。您应该尝试使用Firebase Storage

答案 1 :(得分:1)

Cloud Firestore中文档的最大大小为1MB。如果要存储更多数据,请考虑将其拆分为更多文档,或者(在这种情况下,很有可能)将其存储在Cloud Storage(也存在Flutter SDK)中。

答案 2 :(得分:0)

只需将它们分别保存到firestore中,当您想在应用程序中使用它们时,可以使用字符串操作将保存的两个单独的字符串连接起来,使其成为原始的长字符串