我想从“Kinder”集合中获取“child”字段。 但只有实际的一个,而不是整个集合。
StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection("Users")
.doc(currentUser?.email)
.collection("Kinder")
.doc(widget.docID)
.snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError) {
return Text('Something went wrong');
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Text("Loading");
}
return ListView(
children: snapshot.data!.docs.map((DocumentSnapshot document) {
Map<String, dynamic> data = document.data()! as Map<String, dynamic>;
return ListTile(
title: Text(data['child']),
);
}).toList(),
);
},
),
谢谢!
通过此代码,我获得了正确的集合,但获得了所有“子”字段。 当我添加“.doc(widget.docID)”时,我需要添加另一个“.collection(...)”?
DocumentReference.snapshots()
,返回类型是 Stream<DocumentSnapshot>
(而不是 Stream<QuerySnapshot>
)。
我建议将参考文档放在手边,以解决此类问题。