【问题标题】:How to iterate through all fields in a firebase document?如何遍历firebase文档中的所有字段?
【发布时间】:2021-07-30 17:39:38
【问题描述】:

我想根据我的数据库中的字段创建一列包含文本的容器,但是,forEach 和 Map 都只适用于集合。如何浏览单个文档中的字段?

这给出:“方法 'map' 没有为类型 'Object' 定义。”

  FutureBuilder(
          future:
        FirebaseFirestore.instance.collection("posts")
          .doc(this.id).collection("tags").doc("tags").get(),

          builder: (context, snapshot)
          {
            return Column(children: snapshot.data!.map((e)=> Container(child: Text(e))).toList());

          };
          
      ),

【问题讨论】:

标签: firebase flutter dart google-cloud-firestore


【解决方案1】:

您正在获取单个文档,因此快照是 DocumentSnapshot,它作为 data() 获取文档数据的方法,而不是 docs,它在 QuerySnapshot 中返回文档数组:

Map<String, dynamic> data = snapshot.data() as Map<String, dynamic>;

for (String key in data.keys){
  print(key + data[key]!);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-18
    • 2013-06-10
    • 2017-04-15
    • 1970-01-01
    相关资源
    最近更新 更多