【发布时间】:2021-01-30 18:41:37
【问题描述】:
我的界面是这样的:
界面反应:
export interface UserTask {
assignee: String;
date: String;
}
export interface TaskData {
id: String;
taskName: string;
taskIcon: string;
taskLog: UserTask[]
}
Firebase 数据模型(结构):
- taskData (Main Collection)
- taskIcon (fields)
- taskName (fields)
- taskLog (sub-collection)
- assignee (fields)
- date (fields)
React 代码获取 Firestore 数据:
import { firestore } from '../firebase';
...
function toTaskData(doc): TaskData {
if (!doc.exists) {
throw new Error("TaskData not found!");
} else {
return { id: doc.id, ...doc.data() } as TaskData;
}
}
const getTaskData = async() => {
const taskDataRef = firestore.collection('taskData');
await taskDataRef.get().then(({docs}) => {
setTaskData(docs.map(toTaskData));
});
}
来自 Firestore 的响应 JSON:
我只收到一个包含 taskName 和 taskIcon 数组而不是子集合 taskLog 的响应,我的问题是如何检索子集合或将其映射到 UserTask 数组?
【问题讨论】:
标签: firebase google-cloud-firestore react-typescript