所以我有一个嵌套的集合,我想将数据提取到列表中,但我似乎不知道如何将其提取到列表。我一次只能提取一次数据,无法将它们放入列表中。
这就是逻辑-用户(集合(->文档(some Document Id。
常规(集合(->ShowDocument(some document ID。
这是一篇来自用户的基本帖子
这就是我存储引用数据类型后的样子
更多解释。
/User/y7qg9IwVcEeGGp47qgzVvL8u0ak1/Posts/2020-02-22 19:44:45.409573/用户/y7qg9IwVcEeGGp47qgzVvL8u0ak1/Posts/2020-02-23 02:03:14.119358
/总名单/艺术展/展览1/2020-02-22 19:44:45.409573->这已经的引用数据类型/用户/y7qg9IwVcEeGGp47qgzVvL8u0ak1/Posts/2020-02-22 19:44:45.409573
/总清单/艺术展/展览1/2020-02-23 02:03:14.119358->这已经的引用数据类型/用户/y7qg9IwVcEeGGp47qgzVvL8u0ak1/Posts/2020-02-23 02:03:14.119358
我能够编写代码以在列表视图中获取数据并进行打印。但我并不想这样,我想将所有数据提取到一个列表中,然后将其发送到另一个小部件。
这就是我所做的,把它们打印成某种列表
final CollectionReference exploreCollection = Firestore.instance.collection('GeneralList');
> Widget build(BuildContext context) {
> User user = Provider.of<User>(context);
> String sdfdsfdf;
> var explorer = exploreCollection.document("Art Shows").collection("Shows 1").snapshots();
> return StreamBuilder<QuerySnapshot>
> (
> stream: explorer,
> builder: (context, snapshot){
> if (!snapshot.hasData)
> return Text("Loading data...", style: TextStyle(color: Colors.white),);
>
> return ListView(children: snapshot.data.documents.map((document)
> {
> DocumentReference documentReference = document.data['ref'];
> //Stream<ArtShowClass> sdfd = documentReference.snapshots().map(_showsHelperFromSnapShot);
> return StreamBuilder<DocumentSnapshot>(
> stream: documentReference.snapshots(),
> builder: (context, snapshot) {
>
> if (!snapshot.hasData) return Text("Loading...");
> ArtShowClass sdfd = ArtShowClass(
> userHandle: snapshot.data['userHandle'] ?? '',
> artShowTitle: snapshot.data['artShowTitle'] ?? '',
> artistName: snapshot.data['artistName'] ?? '',
> artShowAddress: snapshot.data['artShowAddress'] ?? '',
> artShowDescription: snapshot.data['artShowDescription'] ?? '',
> artShowDate: snapshot.data['artShowDate'] ?? '',
> artShowTime: snapshot.data['artShowTime'] ?? '',
> websiteLink: snapshot.data['websiteLink'] ?? '',
> email: snapshot.data['email'] ?? '',
> phoneNumber: snapshot.data['phoneNumber'] ?? '',
> pictureName: snapshot.data['pictureName'] ?? '',
> genre: snapshot.data['genre'] ?? '',
> ticketAmount: snapshot.data['ticketAmount'] ?? 0
> );
> sdfdsfdf = snapshot.data['email'];
> return Text("${snapshot.data['email']}", style: TextStyle(color: Colors.red),);
> },
> );
> }).toList());
> },
> ); }
谢谢你的帮助。
有一些方法可以从嵌套集合中返回信息。
我已经进行了一些搜索,我可以在社区上找到一些不错的帖子,这些帖子可能会对你有所帮助——因为每一篇都是针对特定的案例,我相信你检查一下它们,应该会给你一个更好的概述,因为你更了解自己的结构。以下两个问题都被接受并解决了他们的问题,所以我建议你看一看。
- Firebase检索嵌套数据
- 从firebase检索复杂的嵌套数据
如果这些信息对您有帮助,请告诉我!