【问题标题】:Uploading Set<String> gives error in flutter上传 Set<String> 会导致颤动错误
【发布时间】:2019-11-08 14:37:39
【问题描述】:

好的,所以我正在创建存储在 Set 中的筹码图块,但是当我尝试将其上传到 Firebase 时出现此错误“未处理的异常:无效参数:'_CompactLinkedHashSet' 的实例”

我隔离了代码并对其进行了简化,如下所示:

...

Set<String> _tags = <String>{};
_tags.add('Test1');

Firestore.instance
    .collection('tags')
    .document(tagsID)
    .setData({
  'tags': _tags,
});

...

我已尝试对其进行调试,但无法上传,有没有其他方法可以从集合中获取数据并将其上传到 Firebase?我可以使用 Firebase 接受的另一种数据类型?

【问题讨论】:

    标签: firebase flutter dart


    【解决方案1】:

    看看data types that Firestore supports。不支持集。您可以将您的集合转换为 JSON 字符串或列表:

    List<String> tagsList = List<String>.from(_tags);
    

    【讨论】:

      【解决方案2】:

      除了 Bryson Thill 的回答之外,如果您需要在代码中使用 Sets,我建议您在上传到 Firestore 之前使用 toList() 方法。

      【讨论】:

        【解决方案3】:

        我建议您遵循这个问题的答案: Adding an Object to Cloud Firestore using Flutter

        而且你基本上可以上传任何你想要的数据

        【讨论】:

          猜你喜欢
          • 2013-12-27
          • 1970-01-01
          • 2013-06-19
          • 1970-01-01
          • 2016-06-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-11-03
          相关资源
          最近更新 更多