如何在flutter中向Firestore添加不同的数据类型

时间:2018-08-28 08:02:13

标签: firebase flutter google-cloud-firestore

在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 :(得分:0)

行情丢失

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

Firestore仅接受有效的JSON,并且必须使用引号。 在JS中,可以将它们省略,因为所有对象键都是字符串,但是在Dart中,它们也可以是其他类型(但不适用于JSON)。