Firestore安全规则:了解匹配/ databases / {database} / documents

时间:2020-08-29 06:14:48

标签: firebase google-cloud-firestore google-cloud-functions firebase-security

根据官方文档中的安全规则,我无法绕过match /databases/{database}/documents

匹配/databases/{database}/documents声明指定规则应匹配项目中的任何Cloud Firestore数据库。当前,每个项目只有一个名为(默认)的数据库

如果我错了,请纠正我,如果当前每个项目只有一个数据库,而该数据库被命名为default,那么可以用{database}替换{default}default/databases/default/documents中一样?

如果没有,为什么?

还可以在“ any”通配符之后将/databases/{database}/documents替换为/databases/{database=**}/documents

如果没有,为什么?

1 个答案:

答案 0 :(得分:2)

如果当前每个项目只有一个数据库,而该数据库被命名为default,那么是否可以将{database}替换为{default}或使用/ databases / default / documents中的default?

您将其替换为“(默认)”。当前没有其他字符串可以使用。

还可以在“ any”通配符之后将/ databases / {database} / documents替换为/ databases / {database = **} / documents?

不,那是行不通的。您引用的recursive wildcard syntax仅在引用集合和文档时才适用于匹配文档的路径。

当前,说“ / databases / {database} / documents”作为匹配项的前缀没有任何实际价值。每个项目只能有一个数据库。尽管规则允许更多的概念,但实际上没有更多了。这不太可能很快改变。

如果您对规则系统有任何反馈意见,请随时直接向Firebase support报告。