Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何映射文档的整个子集合的数据并使其成为一个流?_Flutter_Dart_Google Cloud Firestore - Fatal编程技术网

Flutter 如何映射文档的整个子集合的数据并使其成为一个流?

Flutter 如何映射文档的整个子集合的数据并使其成为一个流?,flutter,dart,google-cloud-firestore,Flutter,Dart,Google Cloud Firestore,我有一个Firestore,如下所示: 我的目标是将days->'uid'->集合中的每个条目映射到名为“Day”的数据模型,并将其作为流返回给提供者 此集合中的每个条目都有一个日期,该日期包含对转账的引用。 这是传输存储: 这是Day数据模型: class Day { Day({this.date, this.transfers}); final String date; final List<Transfer> transfers; } 上课日{ 日期({th

我有一个Firestore,如下所示:

我的目标是将days->'uid'->集合中的每个条目映射到名为“Day”的数据模型,并将其作为流返回给提供者

此集合中的每个条目都有一个日期,该日期包含对转账的引用。 这是传输存储:

这是Day数据模型:

class Day {
  Day({this.date, this.transfers});

  final String date;
  final List<Transfer> transfers;
}
上课日{
日期({this.date,this.transfers});
最终字符串日期;
最后清单转让;
}
这是我尝试过的代码(当前缺少传输列表的反序列化,但此时我丢失了):

流获取数据{
返回日期collection.document('QeG5SgSoYPXCpPkU86Z9ReShr2j2').collection(''.snapshots().map(_-brewListFromSnapshot);
}
列表_brewlistfromsapshot(QuerySnapshot快照){
返回snapshot.documents.map((doc){
回归日(
日期:doc.documentID,
传输:doc.data.values,
);
}).toList();
}
我搜索了stackoverflow,但每个人都在按名称引用集合


如何获取集合的数据并以正确的方式映射它?

使用JSON转换的用户类:


如何从收集中获取数据?
  Stream<List<Day>> get dayTransferData {
    return daysCollection.document('QeG5SgSoYPXCpPkU86Z9ReShr2j2').collection('').snapshots().map(_brewListFromSnapshot);
  }

  List<Day> _brewListFromSnapshot(QuerySnapshot snapshot) {
    return snapshot.documents.map((doc) {
      return Day(
        date: doc.documentID,
        transfers: doc.data.values,
      );
    }).toList();
  }
class User {
  String name;
  int age;

  User({
    this.name,
    this.age,
  });

  factory User.fromJson(String str) => User.fromMap(json.decode(str));

  String toJson() => json.encode(toMap());

  factory User.fromMap(Map<String, dynamic> json) => User(
        name: json["name"],
        age: json["age"],
      );

  Map<String, dynamic> toMap() => {
        "name": name,
        "age": age,
      };
}
users = jsonList.map((json) => User.fromJson(json)).toList();