Firestore 安全规则 |强制执行字段 VALUES

Firestore security rules | enforcing field VALUES

可以 enforce field types 使用 firestore 安全规则 但是可以强制执行字段 VALUE 吗?

假设用户看到消息时。消息 seen 字段更新为 true。因为这永远不会回到错误。如果要更新为 true.

,如何编写规则仅更新 seen 字段

应遵循以下规则:

  • 允许创建一个消息文档,其可见值为 false
  • 更新到 true 只是目前也是 false
 match /messages/{messageId} {
   allow create: if request.resource.data.seen == false;
   allow update: if resource.data.seen == false && request.resource.data.seen == true;
 }

请根据其他要求更新规则,例如用户必须经过身份验证等等。

resource.data 包含正在更新的文档数据,request.resource.data 包含文档中要 added/updated 的数据。有关此的更多详细信息,请参阅 documentation