futter如何将Firestore中的数据添加到本地List

How to add data from Firestore into local List in futter

颤动

我正在尝试将 Firestore 中的集合中的 docs & data 添加到本地列表中

我已经这样做了,但是当它打印数据时,它在控制台中显示 ['_JsonQuerySnapshot' 的实例],我希望打印数据信息,以便我可以在其他用途​​中使用此列表,我如何将真实信息添加到其中列表与此集合中的内容相同

 List  data= [] ;
Future addData() async {
        QuerySnapshot  val = await FirebaseFirestore.instance.collection("users").doc(widget.documentUid).collection(widget.collectionName).get();
        setState(() {
          data.add(val);
        });
        print(data) ;
      }

当您使用 async/await 时,您不必使用 .then

将您的代码更新为以下内容:

Future addData() async {
  QuerySnapshot val = await FirebaseFirestore.instance.collection("users").doc(widget.documentUid).collection(widget.collectionName).get();

  setState(() {
    data.addAll(val.docs.map((var documentSnapshot) => documentSnapshot.data()).toList());
  });
}

我将 .docs 添加到 images.addAll(val.docs) 行,因为这是从查询快照获取查询文档快照列表的方法。

您可以像这样调用.data()来打印查询文档快照中的数据:

  val.docs.forEach((var documentSnapshot) {
      print(documentSnapshot.data());
  });