Angular Указание обновления Firestore c поле документа при нажатии кнопки - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь установить для поля 'orderCompleted' в документе значение true при нажатии кнопки. Однако, когда я пытался сделать это, ничего не происходит. Я написал функцию updateOrderComplete () для обновления поля в firebase, а затем вызываю его по нажатию кнопки, но она не обновляется.

Компонент:

export class OrdersComponent{
  orders: Observable<any[]>;
  constructor(public firestore: AngularFirestore) {
    this.orders = firestore.collection('Order', ref=>
    ref.where('orderCompleted', '==', false).orderBy('collectionTime', 'asc')).valueChanges();
  }

  // markComplete = data => this.markComplete(data);

  updateOrderComplete(_id: string){
   let doc = this.firestore.collection('Order', ref => ref.where('objectId', '==', _id));
   doc.snapshotChanges().subscribe((res: any) => {
     let id = res[0].payload.doc.id;
     this.firestore.collection('Order').doc(id).update({orderCompleted: true})
   })
  }
}

HTML:

  <div class="card-footer">
                          <button style="float: right;" class="btn btn-outline-light" (click)="updateOrderComplete">
                              Complete
                          </button>
                      </div>
...