首页 > 解决方案 > 现场 Firestore 文档规则

问题描述

我希望应用 Firestore 规则来限制文档中特定字段的更改(写入、更新)。

根据我在文档中的理解,您不能将规则read:应用于文档字段,因为需要完整阅读文档,但是,没有说明写入、更新?

我的结构类似于下面的示例;

match /ads/{adDocument} {

    //adDocument has a field "price" this needs to only be read not changed/updated.

};

我将如何实施呢?

标签: firebasegoogle-cloud-firestorefirebase-security

解决方案


您可以CQRS为所有更改编写调解器,并禁止对文档的所有写入。

要进行更改,客户端可以添加一个文档来改变所有可变字段上的文档:

/PATCH_ads/{adDocument}:
- itemName: "newItemName"

PATCH_ads一旦将文档添加到集合中,就应该触发中介。如果接收到修改price字段的命令,中介应拒绝更改,如果请求的更改内容有效,则提交更改。


推荐阅读