【问题标题】:Flutter & Firestore : How do I get all of the DocumentID from Firestore?Flutter & Firestore:如何从 Firestore 获取所有 DocumentID?
【发布时间】:2021-01-08 05:19:00
【问题描述】:

如何从 Firebase 获取所有 DocumentID 并将它们放入列表中。

Stream <List<String>> getMaterial(BuildContext context) {
    final CollectionReference materialColection =
        Firestore.instance.collection('materials');

   return ???????;
  }

其他文件

List<String> _material = [-------]

我期待收到您的来信。谢谢。

【问题讨论】:

    标签: firebase flutter google-cloud-firestore document


    【解决方案1】:

    你可以试试这个,

    Future <List<String>> getMaterial(BuildContext context) async {
    
         List<String> ids =[];
    
        final CollectionReference materialColection =
            Firestore.instance.collection('materials');
    
        final result = await materialColection.get();  //getDcouments() for < firebase: ^0.14
          
         result.docs.forEach((doc){
              ids.add(doc.id) //doc.documentId for < firebase: ^0.14
          });
    
    
       return ids;
      }
    

    这将在您每次调用该函数时返回文档的 id 列表。

    或者,如果您想收听流,最好将其扭曲到 StreamBuilder() 并在小部件中提取文档 ID

    【讨论】:

    • 我做到了,我得到了我想要的信息。但是出现了异常。这是为什么呢?
    • I/flutter (13132): Another exception was thrown: RangeError (index): Invalid value: Valid value range is empty: 0
    • 你的收藏是空的吗?
    • 我的收藏有大约 5 个文档。但是每个文件都是空的。然后我添加了一些价值,但还是一样。
    • 然后,应该可以了,检查collection name,通常可以有空格,尝试删除检查名称
    猜你喜欢
    • 2020-11-08
    • 2019-10-03
    • 2021-06-23
    • 2022-06-15
    • 1970-01-01
    • 2021-10-13
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    相关资源
    最近更新 更多