Firebase Firestore возвращает true при неудачном удалении документа - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть приложение, которое использует 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 * ТИА *

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...