Firebase-更新子值

Firebase-更新子值,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,我正在尝试更新Firebase中的子值 这是HTML: <ion-item-group> <ion-item-divider color="light">We Need</ion-item-divider> <ion-item *ngFor="let list of lists" (click)="unlist()">{{list?.foodname}}</ion-item> </ion-item-grou

我正在尝试更新Firebase中的子值

这是HTML:

  <ion-item-group>
    <ion-item-divider color="light">We Need</ion-item-divider>
    <ion-item *ngFor="let list of lists" (click)="unlist()">{{list?.foodname}}</ion-item>
  </ion-item-group>
TS中的功能是:

  unlist() {
    firebase.database().ref('/foods').child('state')
            .update({ state: "unlisted" });
  }
这是我的数据库

现在,启动此功能会将“状态”的子项添加到“食物”中,而不是更改预先存在的状态。我需要做些什么才能让它工作

/*  Here is the simple method */
unlist() {
    from(foods).pipe(map(food => f.key), tap(key => {
        firebase.database().ref('/foods' + key).child('state')
            .update({
                state: "unlisted"
            });
    })).subscribe(val => {
        console.log("Finished updating")
    });
}

/* Merging updates into One subscription */
unlist() {
    merge(
        from(foods).pipe(map(food => f.key), map(key => {
            return fromPromise(firebase.database().ref('/foods' + key).child('state')
                .update({
                    state: "unlisted"
                }))
        }))
    ).subscribe(val => {
        console.log("Finished updating")
    })
}
我在这里使用了Observable库,因为您需要导入这些:

import { merge } from 'rxjs/observable/merge';
import { tap,map } from 'rxjs/operators';
我在这里使用了Observable库,因为您需要导入这些:

import { merge } from 'rxjs/observable/merge';
import { tap,map } from 'rxjs/operators';