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
我尝试使用流打印 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