【发布时间】:2021-02-02 14:24:05
【问题描述】:
我有这个数据结构:
并且需要一个仅在city 属性未更改时才允许更新的规则:
match /requests/{requestId} {
allow update: if (request.resource.data.diff(resource.data).unchangedKeys().
hasAll(["customerlocation.city"]))
这不起作用,因为diff 结果只显示customerlocation 字段,而不显示city 属性。
是否有可能实现我想要的?我知道您可以对安全规则中的嵌套对象执行的操作存在限制,但我可能只是遗漏了一些东西。
【问题讨论】:
-
您应该能够获得
customerLocation的密钥,但我不确定我是否了解您的文档是什么样的。您可以在问题中添加文档的屏幕截图吗?
标签: firebase google-cloud-firestore firebase-security