【发布时间】:2021-08-29 15:17:49
【问题描述】:
我想获取数据并将其放入我可以的列表中,例如按标题搜索正确的地图并从中获取描述,但我很难获得正确的架构。
我得到这样的数据
final _ref = FirebaseFirestore.instance
.collection('AllHabits')
.snapshots()
.map((query) =>
query.docs.map((doc) => doc.data()['test']
.map((testDoc)=> HabitInfo.fromDoc(testDoc))).toList());
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: _ref,
builder: (context, snapshot) {
if (!snapshot.hasData) return Loading();
final test = snapshot.data;
print(test);
return Container();
});
}
并使用模型
class HabitInfo {
final String description;
final String title;
HabitInfo({required this.description, required this.title});
factory HabitInfo.fromDoc(DocumentSnapshot<Map<String, dynamic>> doc) {
final data = doc.data()!;
return HabitInfo(
description: data['description'],
title: data['title'],
);
// calendarEvents: data['calendarEvents']);
}
}
当我停止时,我看到数据看起来像这样,但也是运行时错误
类型“_InternalLinkedHashMap
所以我的问题是,如何将这些数据存储在我的模型中,以便我可以使用它 搜索(其中标题=测试,我想获得描述)我该怎么做 解决这个运行时错误
【问题讨论】:
-
所以 Victors 建议修复了运行时,但仍然无法正确输入类型
标签: android firebase flutter google-cloud-firestore