firebase - Firestore 安全规则:密钥上的正则表达式
问题描述
Firestore 安全规则是否支持字段名称的正则表达式?因此,而不是username
...的价值
username.matches(REGEX)
...钥匙username
本身:
request.resource.data.keys().matches(REGEX)
// or...
request.resource.data.matches(REGEX)
我试过在文档中找到这个答案,但没有运气。
解决方案
request.resource.data.keys()
是一个键数组,您不能遍历安全规则中的列表项。您可以做的最好的事情是检查每个键,然后检查它是否与正则表达式匹配。
allow write: if request.resource.data.keys()[0].matches('REGEX')
您会为所有列表项([1]、[2]...)编写相同的语句,但仍然很难猜测该对象有多少键。
推荐阅读
- android - Kotlin 合约在 Android 开发中的用例是什么
- mysql - 如何根据SQL中的第一条记录进行匹配和填充?
- javascript - 尝试在 Vue.js 中动态添加 id 时未定义的 id
- javascript - 如何访问无状态组件中的函数?
- php - 部署到 Ubuntu 18.04 服务器后如何在 Laravel 中修复“未捕获的 ReflectionException:类视图不存在”
- sql-server - SQL Server - 删除存储过程时触发
- r - Bookdown 不会在输出 pdf 中呈现图像
- c++ - 生成 GL_INVALID_VALUE 错误。无效的纹理尺寸。立方体贴图纹理 427*240*6
- excel - 希望提取细胞的非均匀部分
- python - 如何在 Pandas 中将 errors='coerce' 从 pd.read_excel 传递给 pd.to_datetime?