首页 > 解决方案 > Firestore 安全规则:密钥上的正则表达式

问题描述

Firestore 安全规则是否支持字段名称的正则表达式?因此,而不是username...的价值

username.matches(REGEX)

...钥匙username本身:

request.resource.data.keys().matches(REGEX)

// or...
 
request.resource.data.matches(REGEX)

我试过在文档中找到这个答案,但没有运气。

标签: firebasegoogle-cloud-firestorefirebase-security

解决方案


request.resource.data.keys()是一个键数组,您不能遍历安全规则中的列表项。您可以做的最好的事情是检查每个键,然后检查它是否与正则表达式匹配。

allow write: if request.resource.data.keys()[0].matches('REGEX')

您会为所有列表项([1]、[2]...)编写相同的语句,但仍然很难猜测该对象有多少键。


推荐阅读