根据官方文档中的安全规则,我无法绕过match /databases/{database}/documents
:
匹配/databases/{database}/documents
声明指定规则应匹配项目中的任何Cloud Firestore数据库。当前,每个项目只有一个名为(默认)的数据库
如果我错了,请纠正我,如果当前每个项目只有一个数据库,而该数据库被命名为default
,那么可以用{database}
替换{default}
或default
和/databases/default/documents
中一样?
如果没有,为什么?
还可以在“ any”通配符之后将/databases/{database}/documents
替换为/databases/{database=**}/documents
?
如果没有,为什么?
答案 0 :(得分:2)
如果当前每个项目只有一个数据库,而该数据库被命名为default,那么是否可以将{database}替换为{default}或使用/ databases / default / documents中的default?
您将其替换为“(默认)”。当前没有其他字符串可以使用。
还可以在“ any”通配符之后将/ databases / {database} / documents替换为/ databases / {database = **} / documents?
不,那是行不通的。您引用的recursive wildcard syntax仅在引用集合和文档时才适用于匹配文档的路径。
当前,说“ / databases / {database} / documents”作为匹配项的前缀没有任何实际价值。每个项目只能有一个数据库。尽管规则允许更多的概念,但实际上没有更多了。这不太可能很快改变。
如果您对规则系统有任何反馈意见,请随时直接向Firebase support报告。