Flutter,即使 firebase 中有数据,Stream 也会打印 null

Flutter, Stream prints null even if there is data in firebase

我尝试使用流打印 firebase 数据,但我在终端“[]”中得到的不是数据。这意味着数据为空。但是firebase里面有数据,请问如何解决呢

firebase 的数据

流生成器

StreamBuilder(
                stream: FirebaseFirestore.instance
                    .collection('paymentData')
                    .snapshots(),
                builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
                  if (!snapshot.hasData) {
                    return const Center(
                      child: Text('Loading'),
                    );
                  }
                  print(snapshot.data!.docs);
                  return ListView(
                      children: snapshot.data!.docs.map((data) {
                    return ListTile(
                      title: Text(data['amount']),
                    );
                  }).toList());
                },
              ),

根据您的 firebase 结构,没有名为 paymentData 的路径,它实际上是一个嵌套的 sub-collection,因此为了到达 paymentData,您还需要包括该集合的父级,如下所示:

stream: FirebaseFirestore.instance
        .collection('lender').doc(yourLenderId).collection('paymentData')
        .snapshots(),

从前面的步骤中获取贷方 ID,即文档的 ID