Как добавить разные типы данных в FireStore во флаттере - PullRequest
0 голосов
/ 28 августа 2018

В консоли Firebase вы можете добавить логическое значение в качестве поля или даже int. Я пытаюсь добавить такой тип данных через код, и он генерирует ошибку. Код у меня выглядит как

 Int Score;
 Bool completion;

void addDetails() {
 Map<dynamic, dynamic> data = <dynamic, dynamic>{
  Score: 1.0,
  completion: false,
};
documentReference.setData(data).whenComplete(() {
  print('Uploaded');
  }).catchError((e) => print(e));
}

Ошибка консоли

  I/flutter ( 3284): Another exception was thrown: type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>'

1 Ответ

0 голосов
/ 28 августа 2018

Цитаты отсутствуют

Map<dynamic, dynamic> data = <dynamic, dynamic>{
  'Score': 1.0,
  'completion': false,
};

Firestore принимает только действительный JSON, и для этого требуются кавычки. В JS их можно не указывать, поскольку все ключи объектов являются строками, но в Dart они могут быть и других типов (но не для JSON).

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