Как добавить список объектов в Firestore? - PullRequest
0 голосов
/ 24 апреля 2019

У меня есть модель с именем customStep, и я хочу отправить Список пользовательских шагов с именем customSteps в хранилище.

Вот код для этого:

Firestore.instance
    .collection('customSteps')
    .add({'customSteps': customSteps});

В коллекции customSteps есть документы, и эти документы содержат поле customSteps для хранения массива customStep. Однако этот код помещает пустой массив в пожарную. Как я могу решить это?

Ответы [ 2 ]

0 голосов
/ 24 апреля 2019

На Firebase вы не можете сохранить пользовательскую модель внутри Document

На самом деле вы можете создать коллекцию CustomStep и CustomSteps.

Внутри вашего CustomSteps Document вы можете создать array из Reference, который фактически является путем к вашему другому CustomStep документу.

Example of a collection

Это подразумевает получение идентификатора каждый раз, когда вы создаете CustomStep в пожарном депо и используете его как ссылку на

.

Надеюсь, это поможет !!

0 голосов
/ 24 апреля 2019

Чтобы отправить объект в Firestore, вам нужно преобразовать ваш объект в карту, добавьте эту функцию в ваш класс:

  Map<String, dynamic> toMap() {
    return {
      'yourField1': yourValue1,
      'yourField2': yourValue1,
    };
  }

Чтобы отправить Список пользовательских шагов, вам необходимо преобразовать все объекты на карту, вы можете сделать это следующим способом:

  static List<Map> ConvertCustomStepsToMap({List<CustomStep> customSteps}) {
    List<Map> steps = [];
    customSteps.forEach((CustomStep customStep) {
      Map step = customStep.toMap();
      steps.add(step);
    });
    return steps;
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...