我想从Collection "Kinder"中获得Field的"子元素". 但只有实际的一个,而不是整个系列.

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>).

我建议在future 处理此类问题时将reference docs放在手边.

Flutter相关问答推荐

Flutter:InteractiveViewer中可伸缩SVG背景上的定位小部件不对齐

如何刷新future 的构建器时,没有OBS变量的内部在Ffltter?

手势捕获的异常:类型';Double';不是类型转换中类型';Double';的子类型

Flutter 中不存在URI的目标

无法让Riverpod Stream发出新值

我不能通过第5步了解Flutter 翼Firebase教程

Flutter BLoC et workmanager:如何创建独特的仓库初始化模式?

如何从DART中的事件列表中获取即将到来的日期

将列表<;Events>;从Flutter 应用程序中的函数传回EventLoader属性时出错

Ffmpeg_kit_fltter:^6.0.3版权问题

有没有可能不在BlocBuilder中重新构建内容?

打开键盘时屏幕组件会被压扁

如何在flutter中加载并显示adx锚定的自适应广告?

创建混合 TextWidget 和 TextFieldWidget

Flutter居中的SizedBox无法居中

如何计算 Firestore 集合中的文档数量?

输入处于活动状态时如何设置文本字段标签的样式?

如何在 Flutter 中的 BackdropFilter.blur 中制作一个 100x100 的清晰孔

使用 mocktail 包进行单元测试时,类型Null不是Future类型的子类型

在另一个页面编辑数据后更新 Flutter 页面的惯用方法?