Estoy trabajando en mi primera aplicación web usando firebase y me encontré con un problema para el que no puedo encontrar la solución. Estoy tratando de eliminar un documento por Id. La función funciona bien, sin embargo, el documento no se elimina. He configurado las reglas de Firestore para permitir la eliminación también. Sin embargo, todavía no funciona. Dejaré el código y las reglas relevantes aquí:
Código
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); }); }Normas
rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write, delete: if request.auth != null; } } }No puedo entender qué está mal aquí, cualquier sugerencia será útil, ¡Gracias!
Creo que desea eliminar filesListID [x-1] pero dentro deleteDoc() ha mencionado filesListID [x] . Y además de eso, antes de eliminar, también puede verificar si filesListID [x-1] existe o no.
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); }); }