Flutter&Firestore:如何从Firestore获取所有DocumentID?

时间:2020-09-22 05:41:21

标签: firebase flutter google-cloud-firestore document

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

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

   return ???????;
  }

其他文件

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

我期待着您的回音。谢谢。

1 个答案:

答案 0 :(得分:2)

您可以尝试一下

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