【发布时间】:2021-05-16 09:55:13
【问题描述】:
我有一个名为“inventar”的集合,其中包含一个带有自动生成值的文档,其中包含我想要迭代的单个地图。
请注意,键会有所不同,因为用户要指定它。
如何迭代此映射,以便在下面列出的表格单元格中输出键和值?
new StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection("inventar")
.where("verfallsdatum")
.snapshots(),
builder: (BuildContext context,
AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError) {
return Text('Something went wrong');
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Text("Loading");
}
return new Table(
children: [
new TableRow(children: [
new TableCell(child: new Text("Produkt")),
new TableCell(child: new Text("Verfallsdatum")),
]),
// how to iterate here?
new TableRow(
children: [
new TableCell(
child: new Text("key"),
),
new TableCell(
child: new Text("value"),
),
]
)
]);
},
)
编辑: 自从将近一个月以来,我一直在尝试从我的数据库中获取这些数据!我有哪些重大错误或误解,我无法查询包含地图的单个文档并将其输出为表格?这项任务执行起来是否如此艰巨,还是我只是愚蠢? :D
这是我最近做的 attampt,但它说“DocumentSnapshot”类型没有方法“forEach”,尽管我认为我几乎在每个教程中都说这个 attampt。但是我的不行!
var products = await db.collection("inventar").doc("vqQXArtqnFyAlkPC1PHr").get().then((snapshot) => {
snapshot.forEach((doc) => {
})
});
【问题讨论】:
标签: firebase flutter google-cloud-firestore