Flutter CloudFirestore добавляет сложные типы бросков Недопустимый аргумент: Экземпляр «Команда» - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть класс Match, у которого есть список других классов типа Team.Выгрузка нового документа (Match) в Firestore возможна только в том случае, если список пуст.Когда в списке есть пункт «Команда», попытайтесь добавить его в «Firestore»: « Недопустимый аргумент: экземпляр« Команда »».Класс команды содержит только простые поля, других классов нет.

Исключение выдается из StandardMessageCodec.writeValue

Обновление: Я использую cloud_firestore: ^ 0.8.2 и вызываю

await firestore.collection('matches').document(match.id).setData(match);

, поскольку нет другого метода, который позволял бы загружать файлы, кроме setData (принимая карту), я попытался использовать команды match.teams (Список):

  1. '': команды (список)
  2. ' команды ': полностью закодировать в json (строка)
  3. ' команды ': кодировать отдельные элементы команды и добавить в коллекцию (список)

1-ая опция потерпит неудачу, вторая создаст элемент документа с одной строкой, а третья создаст массив строк внутри элемента, ни одна из которых мне не нужна - создайте массив объектов команды внутри документа

1 Ответ

0 голосов
/ 14 декабря 2018

После помощи Гюнтера, который указал мне, что такой состав данных не поддерживается, я понял это - список конкретных объектов должен быть преобразован в Список карты

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