使用user.uid更新数组Firestore

时间:2019-04-02 02:03:56

标签: angular firebase google-cloud-firestore

我尝试在集合中添加具有特定文档当前用户ID的数组,每当其他用户执行操作时,应将此新用户的ID添加到该数组中(如果已经存在,则删除该ID)找到)。像“喜欢”或“我不喜欢”

我想实现这一目标: enter image description here

但是,当我执行操作时,出现以下错误:

  

错误TypeError:无法读取null的属性'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用于其他功能,并且没有问题。

0 个答案:

没有答案