【发布时间】:2021-05-04 14:30:21
【问题描述】:
我想编写一个代码,输出一个文档中每个文档的文档 ID,该文档位于 StreamBuilder 订阅的集合中。
我的 Firestore 结构是这样的:
- 2020-2021(收藏)
- 我的班级(文档)
- 分数(集合)
- 测验 1(这些是文档的文档 ID)
- 测验 2
- 测验 3
- 分数(集合)
- 我的班级(文档)
我的代码可能看起来很复杂,但简而言之,我想要实现的是将集合(分数)中所有文档的文档 ID 输出到列表中,而 StreamBuilder 订阅了文档收集 (MyClass) 集合。但是,它给了我这个错误:NoSuchMethodError: 'doc', method not found, Receiver: null, Arguments:[] 我想我有一个语法错误,但我不知道如何纠正它。我也不确定map方法的使用是否正确。
classname = "MyClass";
CollectionReference schoolYear =
FirebaseFirestore.instance.collection("2020-2021");
Widget build(BuildContext context) {
return Container(
padding: EdgeInsets.all(30),
child: StreamBuilder(
builder: (context, streamSnapshot) {
return SingleChildScrollView(
child: DataTable(
columns: streamSnapshot.data.doc.map((DocumentSnapshot document) {
return new DataColumn(label: Text(document.id));
}).toList(),
rows: <DataRow>[],
),
);
},
stream: schoolYear.doc(classname).snapshots(),
),
);
}
【问题讨论】:
标签: firebase flutter dart google-cloud-firestore