Firestore规则-获取请求参数的大小

时间:2019-03-25 08:14:46

标签: firebase google-cloud-firestore firebase-security-rules

在Firestore中,request.resource.data.size()等于文档最终格式的大小。我的问题是,如何获取客户端发送的参数?

意思是,如果客户端尝试更新属性name,那么我想检查客户端是否已更新name,并且他发送的参数的大小只是一个参数。我会使用hasExact()(如果存在),但是问题是我不确定是否有一个对象指定了请求的参数。

对于当前的request.resource.data.size(),我不确定如何执行以下操作:

  1. 拒绝编写updatedAt属性(该属性将在每次更新时作为服务器时间戳进行更新),而无需附加属性。
  2. 拒绝更新已经等于请求值的属性。

1 个答案:

答案 0 :(得分:0)

很难从您的问题中确切地说出您想做什么。听起来好像更新的大小并不是您唯一需要查看的内容。没有更具体的示例,我只是猜测您需要什么

但是您应该知道request.resource.dataMap类型的对象。单击以查看链接的API文档,以了解您可以使用Map做什么。该映射将包含客户端正在更新的文档的所有字段。如果需要这些字段之一的值,可以说request.resource.data.f,其中f是字段的名称。这应该可以帮助您表达自己的逻辑。

如果要获取文档中现有字段的值,请在写入之前使用映射resource.data,其作用方式相同。