Google cloud firestore 接收无效的通配符安全规则全局匹配表达式

Google cloud firestore 接收无效的通配符安全规则全局匹配表达式,google-cloud-firestore,firebase-security,Google Cloud Firestore,Firebase Security,我正在尝试实施此处概述的规则: 这将产生以下错误:全局匹配表达式无效。全球比赛 允许作为匹配声明路径中的最后一个段 这是现在写这个的唯一/正确的方法吗 match /{path=**}{ match /collectionItems/{collectionItem} { allow read: if request.auth.uid != null; } } 对于未来的用户,刚刚发现。不知道为什么我最初找不到它: 基于集合组保护和查询文档 在安全规则中,必须显式

我正在尝试实施此处概述的规则:

这将产生以下错误:全局匹配表达式无效。全球比赛 允许作为匹配声明路径中的最后一个段

这是现在写这个的唯一/正确的方法吗

match /{path=**}{
    match /collectionItems/{collectionItem} {
        allow read: if request.auth.uid != null;
    }
}

对于未来的用户,刚刚发现。不知道为什么我最初找不到它:

基于集合组保护和查询文档

在安全规则中,必须显式允许集合组 通过为集合组编写规则进行查询:

确保规则_版本='2';是规则集的第一行。集合组查询需要安全规则版本2的行为。 使用match/{path=**}/[collection_ID]/{doc}为集合组编写规则。
对于未来的用户,刚刚发现。不知道为什么我最初找不到它:

基于集合组保护和查询文档

在安全规则中,必须显式允许集合组 通过为集合组编写规则进行查询:

确保规则_版本='2';是规则集的第一行。集合组查询需要安全规则版本2的行为。 使用match/{path=**}/[collection_ID]/{doc}为集合组编写规则。 只需将/{path=**}/替换为/{prefix=**}/就可以了

最后应该是这样的:

match /{prefix=**}/posts/{post} {
  allow read: if request.auth.uid != null;
}
只需将/{path=**}/替换为/{prefix=**}/就可以了

最后应该是这样的:

match /{prefix=**}/posts/{post} {
  allow read: if request.auth.uid != null;
}