如何将对象列表添加到 Firestore?

mir*_*cal 5 dart flutter google-cloud-firestore

我有一个模型customStep,我想推送调用的 customStep 列表customSteps送到 firestore。

这是代码:

Firestore.instance
    .collection('customSteps')
    .add({'customSteps': customSteps});
Run Code Online (Sandbox Code Playgroud)

customSteps 集合有文档,这些文档包含 customSteps 字段来存储 customStep 数组。但是,此代码将空数组推送到 Firestore。我该如何解决?

cip*_*nat 7

要将对象推送到 Firestore,您需要将对象转换为映射,将此函数添加到您的类中:

  Map<String, dynamic> toMap() {
    return {
      'yourField1': yourValue1,
      'yourField2': yourValue1,
    };
  }
Run Code Online (Sandbox Code Playgroud)

要推送自定义步骤列表,您需要将所有对象转换为地图,可以使用以下方法来完成:

  static List<Map> ConvertCustomStepsToMap({List<CustomStep> customSteps}) {
    List<Map> steps = [];
    customSteps.forEach((CustomStep customStep) {
      Map step = customStep.toMap();
      steps.add(step);
    });
    return steps;
  }
Run Code Online (Sandbox Code Playgroud)