Загрузка набора <String>дает ошибку в флаттере - PullRequest
0 голосов
/ 26 июня 2019

Хорошо, поэтому я создаю фишки фишек, которые хранятся в наборе, но когда я пытаюсь загрузить их в базу данных, я получаю эту ошибку "Необработанное исключение: Неверный аргумент: экземпляр _CompactLinkedHashSet" "

Я выделил код и упростил его, чтобы он выглядел так:

...

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

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

...

Я попытался отладить его, и яне могу загрузить его, поэтому есть ли другой способ получить данные из набора и загрузить их в Firebase?Другой тип данных, который я могу использовать, который будет принимать Firebase?

Ответы [ 3 ]

1 голос
/ 26 июня 2019

Посмотрите на типы данных, которые Firestore поддерживает . Наборы не поддерживаются. Вы можете преобразовать свой набор в строку JSON или в список:

List<String> tagsList = List<String>.from(_tags);
0 голосов
/ 27 июня 2019

В дополнение к ответу Брайсона Тилла, если вам нужно использовать наборы в коде, я бы рекомендовал использовать метод toList() перед загрузкой в ​​Firestore.

0 голосов
/ 26 июня 2019

Я бы предложил вам следующий ответ на этот вопрос: Добавление объекта в хранилище облаков с помощью Flutter

И вы можете в основном загружать любые данные, которые вы хотите

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...