Van egy alkalmazásom, amely a Firebase Firestore-ját használja a kitartás érdekében. A Material's Snackbart használom az értesítésekhez. szolgálatomban áll..
deleteProvider(data) {
return this.db.collection(data.table).doc('xzc').delete();
}
Ahol az adatparaméter egyszerűen egy objektum, amely tartalmazza azt a táblát, amelyen a műveletet el szeretném végezni, és a törölni kívánt dokumentum azonosítóját.
data: { table: 'providers', id: 'some firebase identifier'}
És a komponensemben
onDeleteEntry(event) {
if (event.table === 'providers') {
this.providerService.deleteProvider(event)
.then(() => {
this.snackBar.open('Provider deleted');
})
.catch((error) => {
this.snackBar.open('Error deleting provider', error);
});
}
}
Ez tökéletesen törli a dokumentumot, de a sikertelen eset tesztelésekor igazat ad vissza.
Például, ha az „xyz”-t bekódolom a .doc('xyz') metódusba. A válasz a next() metódusomat hívja meg, nem pedig a my catch().
deleteProvider(data) {
return this.db.collection(data.table).doc('xyz').delete();
} // returns true on a non-existent document
A Firebase-dokumentumok hangsúlyozzák, hogy a beágyazott gyűjtemények törlés után is megmaradnak, de ettől eltekintve a dokumentumok törlésének alapvető funkciói egyszerűek, és nem adnak túl sok információt, csak
db.collection("cities").doc("DC").delete().then(function() {
console.log("Document successfully deleted!");
}).catch(function(error) {
console.error("Error removing document: ", error);
});
Mit hiányolok?
TIA