缺少权限或权限不足的Firestore数据库规则

1 rules data-structures firebase google-cloud-firestore

我正在自学firestore,无法找到一种方法仅允许用户更新,删除或仅读取他们添加的集合。

这是我正在使用的结构: Firebase数据库屏幕截图

我使用firebase auth进行用户处理。我将currentUser.uidas 保存在user_id每个集合的数据库中。

这些是我正在使用的规则

service cloud.firestore {
  match /databases/{database}/documents {

    match /tasks{
      allow read, update, delete: if request.auth.uid == resource.data.user_id;
      allow create: if request.auth.uid != null;
    }
  }
Run Code Online (Sandbox Code Playgroud)

当我尝试读取/获取数据时,Missing or insufficient permissions出现错误。

我正在将Web API(JavaScript)用于Firestore。这是我用来读取数据的代码。

function read() {

    db.collection("tasks").get().then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
            var newLI = document.createElement('li');

            newLI.appendChild(document.createTextNode(doc.data().task));

            dataList.appendChild(newLI);

        });
    });

}
Run Code Online (Sandbox Code Playgroud)

小智 5

错误是在我的JavaScript中,我得到了所有内容而没有按用户过滤

function read() {
    let taskColletion = db.collection("tasks");

    taskColletion.where("user_id", "==", firebase.auth().currentUser.uid).get().then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
            var newLI = document.createElement('li');

            newLI.appendChild(document.createTextNode(doc.data().task));

            dataList.appendChild(newLI);
        });

    });

}
Run Code Online (Sandbox Code Playgroud)