обновить массив firestore с помощью user.uid - PullRequest
0 голосов
/ 02 апреля 2019

Я пытаюсь добавить массив с идентификатором текущего пользователя определенного документа в моей коллекции, когда другой пользователь выполняет действие, его идентификатор этого нового пользователя должен быть добавлен в этот массив (или удален, если он уже найденный). Что-то вроде «нравится» или «мне не нравится»

Я хочу добиться этого: enter image description here

Однако, когда я выполняю действие, я получаю следующую ошибку:

ОШИБКА TypeError: Невозможно прочитать свойство 'uid' с нулевым значением

Есть ли лучший способ поднять его?

В данный момент я тестирую таким образом:

service.ts

import * as firebase from 'firebase/app';
user = firebase.auth().currentUser;
updateFavoritos(key) {
    this.afs.doc('eventos/' + key).update({
      favoritos: [ this.user.uid, 'uno', 'dos', 'tres'],
    });
  }

component.ts

actualizarFavoritos(key, e) {
    this.fs.updateFavoritos(key);
  }

component.html

<mat-slide-toggle #toggle [ngModel]="evento.favoritos" (ngModelChange)="actualizarFavoritos(evento.id, evento, $event)">
  <span *ngIf="!evento.favoritos" class="text-muted">No publicado</span>
  <span *ngIf="evento.favoritos" class="text-primary">Publicado</span>
</mat-slide-toggle>

Если я выполню следующее: favoritos: ['uno', 'dos', 'tres'] без проблем. Я должен упомянуть, что я использую this.user.uid для других функций, и у меня нет проблем.

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