ScopedModel с Firestore добавление дубликатов записей - PullRequest
0 голосов
/ 07 июня 2019

У меня есть ScopedModel, которая интегрирована с FireStore в флаттер.Всякий раз, когда я добавляю или обновляю запись в FireStore, данные обновляются и каждый раз добавляются дублированные значения в модель.Как удалить существующее значение до перезагрузки FireStore то же самое.

ScopedModel - для загрузки начальных значений

Firestore.instance
    .collection('categoryMaster')
    //.where('isActive', isEqualTo: true)
    .orderBy('categoryCode')
    .snapshots()
    .listen((data) {
  data.documents.forEach((doc) {
    finalData.add(Category.map(doc));
  });
}).asFuture();

Попытка обновить значение в подклассах, После обновления снова те же значения, добавленные в модель.Например, если у меня есть 5 записей как [a, b, c, d, e] после обновления, еще 5 значений добавляются в тот же список [a, b, c, d, e, a, b, c, d, e]

Firestore.instance.collection('categoryMaster')
.document(category[index].field1)
.updateData({
  "isActive": category[index].isActive
      ? false
      : true
}).whenComplete(() {
  setState(() {
    print(category.length);
  });
}).catchError((e) {
  print(e);
});

как избежать дублирования значений модели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...