上载Set <String>会产生抖动错误

时间:2019-06-26 15:30:33

标签: firebase flutter dart

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

我隔离了代码并对其进行了简化,使其看起来像这样:

...

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

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

...

我已经尝试调试它,但是无法将其上传,所以还有其他方法可以从集中获取数据并将其上传到Firebase吗?我可以使用Firebase可以接受的另一种数据类型?

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

您基本上可以上传所需的任何数据

答案 2 :(得分:0)

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