Документ Firebase / Firestore не обновляется - PullRequest
1 голос
/ 08 января 2020

У меня проблемы с обновлением данных документа с помощью angular / firestore & Firebase.

Значение, которое я пытаюсь обновить, успешно обновляется в DOM, но не сохраняется в Firebase и поэтому сбрасывает к исходному значению при перезагрузке страницы.

Я получаю эту ошибку:

FirebaseError: Функция DocumentReference.update () требует как минимум 2 аргумента, но была вызвана с 1 Аргумент

В моем сервисе:

updateWord(word: Words, newState: string) {
  this.firestore.doc("words/" + word.word).update(word.state = newState);
}

В моем компоненте .ts:

changeState(word: Words, state: string) {
  this.wordsService.updateWord(word, state);
}

1 Ответ

2 голосов
/ 08 января 2020

Метод обновления ожидает объект Partial<Words>, вы обновляете его строкой.

значение newState возвращается из присваивания word.state = newState

Вам нужно просто передать объект, который содержит новые обновления, в ваш объект:

updateWord(word: Words, newState: string) {
  this.firestore.doc<Words>(`words/`${word.word}).update({ state: newState });
}

Подробнее здесь для соответствующего использования API firestore

Не забывайте об обработке ошибок и / или возврате обещания из вызова обновления, чтобы вы могли связать его в цепочку и обработать любую возможную ошибку

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