有没有办法使用Firestore安全规则使用FieldValue.increment()更新文档字段?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法使用Firestore安全规则使用FieldValue.increment()更新文档字段?相关的知识,希望对你有一定的参考价值。

我刚开始使用像firestore这样的noSQL数据库,想要找到如何在使用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();
}
答案

无法使用安全规则来修改数据库中的任何数据。

如果您需要在更改其他文档时自动更改文档,则应查看“云功能”以设置在更改文档后执行的触发器。

以上是关于有没有办法使用Firestore安全规则使用FieldValue.increment()更新文档字段?的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Firestore更新时间字段安全问题

在不使用 Firebase 身份验证的情况下设置 Firestore 安全规则

如何为使用 Cloud Firestore 的 Flutter 应用设置安全规则?

在 Firestore 安全规则“列表”操作中使用变量

Firestore:删除文档和安全规则

Ionic Firestore 安全问题和 Firestore 规则