Xerri
Xerri

Reputation: 5046

Angularfire5 - Get the key of Realtime database documents in list - #askfirebase

I am loading a list and passing it to a component to then render the information. One of the items I need is the ID. How can I see that in the list. I've seen the documentation and it does not help. It only shows the key of the parent.

this.allWorkouts = this.afDb.list<IWorkout>('/workouts')
    .valueChanges()
    .take(1)
    .map((array) => array.reverse()) as Observable<IWorkout[]>;

<ion-card *ngFor="let workout of allWorkouts | async">
    <card-workout [workout]="workout"></card-workout>
</ion-card>

Upvotes: 0

Views: 1156

Answers (2)

James Daniels
James Daniels

Reputation: 6981

In version 5.0 of AngularFire you need to use snapshotChanges() if you want to get access to the key.

valueChanges() is only for basic use cases were you only care about the JSON tree.

Upvotes: 1

Matias Celiz
Matias Celiz

Reputation: 322

To get the key you need suscribe the observable and then print of this way:

suscribe(snapshot => { snapshot.$key })

If you need print into a *ngFor you should use:

workout.$key

Upvotes: 0

Related Questions