【发布时间】:2019-10-17 19:15:55
【问题描述】:
我有一个名为“list”的文档,其中包含一个名为“list”的字段,该字段是一个映射,其中值是一个新映射,应该只包含键“color”和“description”。我正在尝试编写规则以确保键只有“颜色”和“描述”,但我似乎无法找到一种方法来限制地图内地图中的键名。
(它在单个文档中的映射映射的原因是因为我有一个安全规则,其中数组类型的字段只能包含从“list.list.keys()”指定的元素)
我试过了
request.resource.data.list.values()[request.resource.data.list.values().size()-1].keys().hasOnly(["color", "description"])
&& request.resource.data.list.values()[request.resource.data.list.values().size()-1].keys().hasAll(["color", "description"]);
但这不起作用,因为新值的索引是随机的,因为它是一个映射。
【问题讨论】:
标签: firebase google-cloud-firestore firebase-security