当前位置: 首页 > 知识库问答 >
问题:

类“DocumentSnapshot”没有实例getter“doc”。接收器:“DocumentSnapshot”的实例尝试调用:doc

宗穆冉
2023-03-14

我最近开始使用Firebase fiRecovery,这是一个我似乎找不到答案的错误,我在查看类似问题的答案后尝试将snapshot.data.documents编写为文档、文档和文档,但它仍然抛出相同的错误。我该怎么办?我正在使用的fiRecovery版本是cloud_firestore:^1.0.7

import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
// import 'package:vola1/colors.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_core/firebase_core.dart';

class test extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        // floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
        body: StreamBuilder(
      stream: FirebaseFirestore.instance
          .collection('countries')
          .doc('nW9L4LGpn2MZVyiTyUII')
          .snapshots(),
      builder: (context, snapshot) {
        if (!snapshot.hasData) return Text('Loading data.. please wait..');
        return Column(
          children: <Widget>[
            Text(
              snapshot.data.doc[0]['name'],
              style: TextStyle(fontSize: 20),
            ),
          ],
        );
      },
    ));
  }
}

它引发的异常

======== Exception caught by widgets library =======================================================
The following NoSuchMethodError was thrown building StreamBuilder<DocumentSnapshot>(dirty, state: _StreamBuilderBaseState<DocumentSnapshot, AsyncSnapshot<DocumentSnapshot>>#af0fe):
Class 'DocumentSnapshot' has no instance getter 'documents'.
Receiver: Instance of 'DocumentSnapshot'
Tried calling: documents

The relevant error-causing widget was: 
  StreamBuilder<DocumentSnapshot> file:///D:/flutter%20course/vola1/lib/test.dart:14:15
When the exception was thrown, this was the stack: 
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      test.build.<anonymous closure> (package:vola1/test.dart:24:29)
#2      StreamBuilder.build (package:flutter/src/widgets/async.dart:545:81)
#3      _StreamBuilderBaseState.build (package:flutter/src/widgets/async.dart:124:48)
#4      StatefulElement.build (package:flutter/src/widgets/framework.dart:4612:27)
...
====================================================================================================

共有1个答案

吴欣悦
2023-03-14

要从DocumentSnapshot获取数据,请使用数据获取器将文档中的所有字段作为Map检索;docs用于QuerySnapshot类。

更改以下代码:

          snapshot.data.doc[0]['name'],

对此:

          snapshot.data['name'],
 类似资料:
  • 我的代码中有两个流,第一个是从朋友列表中获取用户ID,第二个流是使用ID列表在Firebase中搜索用户ID的文档。 这是火力恢复代码。 我不知道为什么会发生这种情况,因为我可以显示id列表。我曾尝试将更改为,但也会产生相同的错误。 编辑:

  • 生成了以下NoSuchMethodError:类“QuerySnapshot”没有实例方法“Call”。接收方:“QuerySnapshot”实例尝试调用:call() 抛出异常时,这是堆栈:#0object.nosuchmethod(dart:core-patch/object_patch.dart:51:5)#1_HomeKitchenListState.build。(包:pigeon/coo

  • 我是从火神那里收取数据的,我有这个,我是火神的新手,我知道的不多,所以你能帮我吗? 错误是这样的:类'AsyncSnapshot'没有实例getter'docs'。接收器:'AsyncSnapshot'的实例尝试调用:docs

  • 我有一个应用程序,我想从Firestore数据库中检索uid文档中表示的消息,如下所述,这些消息存储如下:聊天室- 但我收到以下错误: 生成StreamBuilder时引发了以下NoSuchMethodError(脏,状态:\u StreamBuilderBaseState 导致错误的相关小部件是:StreamBuilderfile:///Users/ahmedhussain/Downloads/

  • 我正在遵循一个教程,试图创建一个水平的SingleChildScrollView,它包含带有产品描述的对象和带有两个小数的货币+价格标签。实现NumberFormat.Currency方法返回一个错误:NosuchMethodeRorr类“String”没有实例getter“is negal” 有人能帮助理解为什么它不拉“价格”价值吗?如果我对其进行硬编码,并为最终的双倍价格赋值=IE:29.90

  • 此错误“”getter'uid'在null上被调用。receiver:null尝试调用:uid“ 退出按钮: 控制台: widgets库捕获的异常接收者:null尝试调用:uid 相关的导致错误的小部件是:Qr file://g://androidstudioprojects/facem/lib/screens/home/home.dart:687:67当抛出异常时,这是堆栈:#0 object.