Flutter 如何映射文档的整个子集合的数据并使其成为一个流?
我有一个Firestore,如下所示: 我的目标是将days->'uid'->集合中的每个条目映射到名为“Day”的数据模型,并将其作为流返回给提供者 此集合中的每个条目都有一个日期,该日期包含对转账的引用。 这是传输存储: 这是Day数据模型: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
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();