Flutter Firestore:如何从特定/实际字段获取数据

问题描述 投票:0回答:1

我想从“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(...)”?

flutter firebase dart google-cloud-firestore
1个回答
0
投票

由于您调用

DocumentReference.snapshots()
,返回类型是
Stream<DocumentSnapshot>
(而不是
Stream<QuerySnapshot>
)。

我建议将参考文档放在手边,以解决此类问题。

© www.soinside.com 2019 - 2024. All rights reserved.