Firebase - 权限缺失或不足

Mat*_*han 4 firebase angular google-cloud-firestore

我正在为我的项目使用 Firestore,它似乎有一些集合引用错误。

错误 FirebaseError:权限缺失或不足。在新的 FirestoreError (localhost:4200/vendor.js:66703:28)

我过去使用过 Angular Firebase,似乎我在做和上次一样的事情。

我的查询非常简单,看起来像这样

public getUsers(): Observable<any> {
    return this.afs.collection('users').valueChanges();
  }
Run Code Online (Sandbox Code Playgroud)

我没有对数据库规则进行任何更改

   service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if false;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

你知道为什么会这样吗?

小智 6

您可以将“假”更改为“真”。它将允许在任何条件下对所有用户进行读/写访问,但切勿在生产中使用此规则集;它允许任何人覆盖您的整个数据库。

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)


Dou*_*son 1

/databases/users 不可能是数据库中集合的路径,因为集合只能有奇数个路径组件。您现在拥有的内容看起来像是文档参考。

如果您有一个名为“users”的集合,那么集合引用如下所示:

this.afs.collection('users')
Run Code Online (Sandbox Code Playgroud)

“数据库”不是该路径的一部分。这只是与安全规则一起使用。