如何访问文档中的数据

时间:2021-01-25 03:16:11

标签: flutter google-cloud-firestore

当文档内有一个子集合和我想要的数据字段时,我如何访问该文档内的数据?。例如我想访问字段“名称”

enter image description here

我已经试过了:

FirebaseFirestore.instance
        .collection('Rooms')
        .doc('8w0TE4D04xyeGgL3xAyk') //ID from specific room (RoomA,RoomB...)
        .get()
        .then((QuerySnapshot querySnapshot) => {
          querySnapshot.docs.forEach((doc) {
            print(doc["name"]);
          });
        });

这是在控制台中给我的错误:

<块引用>

错误:无法将参数类型“Set Function(QuerySnapshot)”分配给参数类型“FutureOr Function(DocumentSnapshot)”。 (argument_type_not_assignable at [proyectoihc2] lib\database.dart:66)

1 个答案:

答案 0 :(得分:1)

这就是你做错的地方,

  • 这不是 javaScript,你使用箭头语法的方式不同,

要么这样做

(value){
...
}

或者如果你的函数只有一行就使用这个

(value) => print(value);

在 dart 中,只有 {} 将被视为数据结构 Set 因此,在这种情况下,您将函数分配给 Set,因此会出现错误。

其他指针:-

  • 您正在对 QuerySnapshot 调用 for 循环,这是错误的,因为您获取的是单个文档而不是文档集合。

  • 您在最新版本的 firebase 插件中访问密钥的方式是这样

doc.data()['name']