Остановить минимальное значение счетчика на 0 при использовании функции увеличения значения Firstore Fieldvalue - PullRequest
0 голосов
/ 08 июля 2020

Можно ли сделать так, чтобы значение поля моего числового типа было go отрицательным (минимум 0) при использовании увеличения значения поля Firstore и без транзакций?

this.afs.doc('path').update({count: firebase.firestore.FieldValue.increment(11)});

Если количество полей имеет значение 0, будет go до -1.

1 Ответ

0 голосов
/ 08 июля 2020

Транзакция - это на самом деле правильный путь к go здесь, поскольку вы можете проверить границы значения. FieldValue.increment() не может этого сделать.

Однако, если вы хотите, чтобы обновление просто завершилось сбоем при предоставлении недопустимых значений, вы можете использовать правила безопасности Firestore * от до для проверки поля значение . Эти правила работают только при прямом доступе через веб-клиенты и мобильные клиенты. Они не применяются к бэкэнд-коду.

...