Есть ли способ обновить поле документа с помощью FieldValue.increment (), используя правила безопасности firestore? - PullRequest
1 голос
/ 20 апреля 2019

Я только начал использовать базу данных noSQL, например, firestore, и хочу узнать, как увеличить поле документа из одной коллекции после создания документа во второй коллекции с использованием правил безопасности firestore.

код JS

collection('some_collections').add({name: 'name', anotherId: 'abc' })
 .then(() => {
   collection.('another_collections').doc('abc')
   .update({counter: FieldValue.increament(1) });
});

как-то так в правилах безопасности

function isIncremented() {
      get(/databases/$(database)/documents/another_collections
      /$(request.resource.data.anotherId)).counter = FieldValue.increament(1);
      return true;
    }

 match /some_collections/{some_collectionId} {
        allow create: if signedIn() && isIncremented();
}

1 Ответ

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

Невозможно использовать правила безопасности для изменения каких-либо данных в базе данных.

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

...