Firebase Firestore deleteDoc() 不工作

Firebase Firestore deleteDoc() not working

我正在使用 firebase 开发我的第一个 Web 应用程序,但遇到了一个我找不到解决方案的问题。我正在尝试通过 Id 删除文档,该功能工作正常但是文档没有被删除。我已将 Firestore 规则设置为也允许删除。但是它仍然无法正常工作。相关的代码和规则我会在这里留下:

代码

function del(x){
      console.log("Delete File : "+filesListID[x-1]);
      console.log("File : "+fileList[x-1].fileno + " " +decrypt(fileList[x-1].fileno));
      deleteDoc(doc(firestore,"property",filesListID[x])).then( function(){
          var table = document.getElementById("userlist");
          table.innerHTML = "";
          userList();
          alert("File Deleted Successfully");
      }).catch((error) => {
        console.log("Error Deleting Property List: "+error);
      });
      
}

规则

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write, delete: if request.auth != null;
    }
  }
}

我不知道这里出了什么问题,任何建议都会有帮助,谢谢!

我相信你想删除 filesListID [x-1] 但你在 deleteDoc() 中提到了 filesListID [x]。最重要的是,在删除之前,您还可以检查 filesListID [x-1] 是否存在。

function del(x) {
  console.log("Delete File : " + filesListID[x - 1]);
  console.log("File : " + fileList[x - 1].fileno + " " + decrypt(fileList[x - 1].fileno));
  deleteDoc(doc(firestore, "property", filesListID[x - 1])).then(function() {
    var table = document.getElementById("userlist");
    table.innerHTML = "";
    userList();
    alert("File Deleted Successfully");
  }).catch((error) => {
    console.log("Error Deleting Property List: " + error);
  });
}