У меня есть приложение, которое использует Firebase's Firestore для постоянства. Я использую Снэк-бар Материала для уведомлений. Я имею в своем распоряжении ..
deleteProvider(data) {
return this.db.collection(data.table).doc('xzc').delete();
}
Где параметр данных - это просто объект, содержащий таблицу, над которой я хочу выполнить действие, и идентификатор документа, который я хочу удалить.
data: { table: 'providers', id: 'some firebase identifier'}
А в моем компоненте
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);
});
}
}
Это удаляет документ идеально, но при тестировании неудачного случая возвращает true.
Например, если я жестко закодировал 'xyz' в метод .doc ('xyz'). Ответ вызывает мой метод next (), а не мой метод catch ().
deleteProvider(data) {
return this.db.collection(data.table).doc('xyz').delete();
} // returns true on a non-existent document
Документы Firebase подчеркивают тот факт, что вложенные коллекции останутся после удаления, но кроме этого, базовая функциональность удаления документа проста и не дает очень много информации, кроме
db.collection("cities").doc("DC").delete().then(function() {
console.log("Document successfully deleted!");
}).catch(function(error) {
console.error("Error removing document: ", error);
});
Чего мне не хватает?
1020 * ТИА *