从Flatter中的Firebase读取阵列
我在Firebase中定义了一个具有不同字段类型的集合,例如字符串和字符串数组 我可以通过调用以下命令从从Flatter中的Firebase读取阵列,firebase,dart,google-cloud-firestore,flutter,Firebase,Dart,Google Cloud Firestore,Flutter,我在Firebase中定义了一个具有不同字段类型的集合,例如字符串和字符串数组 我可以通过调用以下命令从DocumentSnapshot读取字符串: String name = document['name']; 但是我怎样才能得到列表?打电话 List<String> names1 = document['names']; List<String> names2 = document['ingredients'].map((x) => x.toString())
DocumentSnapshot
读取字符串:
String name = document['name'];
但是我怎样才能得到列表
?打电话
List<String> names1 = document['names'];
List<String> names2 = document['ingredients'].map((x) => x.toString())
List names1=文档['names'];
列表名称2=文档['Components'].map((x)=>x.toString())
因此,我得到以下例外情况:
“列表”类型不是“列表”类型的子类型类型“MappedListIterable”不是类型“List”的子类型
只需使用命名构造函数即可完成:
List<String> names = List.from(document['names']);
List name=List.from(文档['names']);
这里:我不会称之为重复,因为我试图获取数组,而不是对象,但是我在那里找到了答案。如果数组当前不存在,那么在DocumentSnapshot文档上使用这个精确的代码会怎么样?类型“String”不是类型“Iterable”的子类型@Bisclavret我想您在某处将文档的类型定义为映射,这就是为什么会出现此错误的原因。试试这个listnames=List.from(文档['names']作为Iterable)代码>