Можно ли делать пакетные записи, чтобы добавить в существующие поля? - PullRequest
1 голос
/ 06 ноября 2019

В моем приложении есть цикл for, который записывает данные в мою базу данных Firestore.

Однако прямо сейчас, когда я нажимаю кнопку обновления, Firestore обновляет документы один за другим, используя транзакции. Таким образом, это приводит к тому, что мне приходится читать каждый документ, прежде чем я смогу его обновить, что крайне неэффективно.

Возможно ли для пакетных записей выполнить функцию обновления, аналогичную транзакциям?

В моем случае поле, которое я намереваюсь обновить, является числом, таким образом,

Мне интересно, возможно ли обновить поле, добавив к нему.

      await transaction.update(stockListDocRef,
          {'Num': outerStockListSnapshot.data['Num'] + Add});

1 Ответ

0 голосов
/ 06 ноября 2019

Вы можете использовать FieldValue.increment(x) для увеличения значения поля в любой операции обновления, включая пакеты.

См. Также: FieldValue.increment для Cloud Firestore в Flutter

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