我正在尝试在其中包含 map 的文档中检索 map 字段。
world 是一个由 map 组成的JSON map 。
我想在抖动中检索这些 map ,以便将其解析为自定义对象。
我尝试了这个:
Stream<DocumentSnapshot> provideDocumentFieldStream() {
return Firestore.instance
.collection('regular-news')
.document('us-en')
.snapshots();
}
Future<NewsModel> getWorldNews() async {
final NewsModel nm = NewsModel();
List<Articles> list = List<Articles>();
var articles = await Firestore.instance
.collection("regular-news")
.document("us-en")
.get();
我无法在变量文章中检索 map 。
试图使用这样的流:
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Stream Test',
body: new StreamBuilder(
stream: Firestore.instance.collection('regular-news').document('us-en').snapshots(),
builder: (context, snapshot) {
if (!snapshot.hasData) {
return new Text("Loading");
} else {
return new Text(snapshot.data.data.toString());
}
}),
);
controller: scrollController;
}
但是当我将其分配给字符串时,它说:
无法将参数类型“Map”分配给参数类型“String”。dart(argument_type_not_assignable)
最佳答案
我设法将 map 保存在动态值列表中:
List<Articles> list = List<Articles>();
var val = await Firestore.instance
.collection('collection')
.document('document').get();
LinkedHashMap<String, dynamic> data = val['fieldvalue'];
List<dynamic> values = data.values.toList();
for (int i = 0; i < values.length; i++) {
list.add(Articles.fromJson(values[i]));
}
然后,处理列表中的数据比处理文档快照更简单。
关于firebase - 从Firestore获取字段图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61647586/