我一直在努力获取Firestore集合内所有文档的列表。我想显示集合中所有文档的所有详细信息。 我的文件树是请跟随-
'groups'COLLECTION ----->以'groupID'为参考的文档------>'tasks'COLLECTION ------>以w'taskId'为参考的文档。
现在,我想在特定groupID的“任务”集合中获取所有文档及其详细信息。
Future<MyTask> getCurrentTask(String groupId) async {
MyTask retVal = MyTask();
try {
DocumentSnapshot _docSnapshot =
await _firestore.collection("groups").document(groupId).collection("tasks").get();
retVal.taskId = taskId;
retVal.taskName = _docSnapshot.data['taskName'];
retVal.dueTime = _docSnapshot.data['dueTime'];
retVal.member =_docSnapshot.data['member'];
retVal.completed = _docSnapshot.data['completed'];
} catch (e) {
print(e);
}
return retVal;
}
我尝试了此操作,但由于“未为类型'CollectionReference'定义'get'方法”而无法使用。 请如何解决这个问题?
答案 0 :(得分:0)
只需这样做:
Firestore.instance.collection("groups").document(groupID).collection("task").snapshots().listen((event) {
retVal = event.documents.map((e) => MyTask.fromJson(e.data)).toList();
});
我假设您的MyTask模型已经具有fromJson方法,所以要这样做。并将您的retVal更改为List:List<MyTask> retVal = [];
。它将获取您所有的文档,并聆听集合中是否有更改。