首页 > 解决方案 > 如何将模型列表映射到 Firebase Firestore 中的另一个模型?

问题描述

我正在开发一个 Flutter 应用程序,我在其中使用两个模型,特别是Assignment模型和Task模型。

模型从Task文档快照映射到各种子模型,即SimpleTaskHardTaskExtremeTask

ASSIGNMENTS我有一个在我保存作业的用户文档下命名的子集合。此外,在作业文档下有一个名为 的子集合TASKS

概述

User document
\- ASSIGNMENTS sub-collection
   \- Assignment document
      \- TASKS sub-collection

这就是提出问题的地方。Assignment模型中,我有一个任务列表。任务是子集合中的一个文档,所以我不知道应该如何映射这个值。我想对此提出一些建议。我正在使用 GetX 进行状态管理,仅供参考。

class Assignment {
  final String id;
  final List<Task> tasks;
  final DateTime registeredAt;
  final bool finished;
  final int checkPoint;

  Assignment(
      {@required this.id,
      @required this.tasks,
      @required this.registeredAt,
      @required this.finished,
      @required this.checkPoint});

  factory Assignment.fromSnapshot(DocumentSnapshot doc) {
    Map data = doc.data();
    return Assignment(
      id: doc.id,
      registeredAt: DateTime.parse( data["registeredAt"].toDate().toString()),
      finished: data['finished'],
      checkPoint: data['checkPoint'],
      tasks: 
    );
  }
}

标签: fluttergoogle-cloud-firestore

解决方案


我认为您需要手动处理此任务。因为 firebse 数据库不支持深度链接。


推荐阅读