Хорошо, я пытаюсь создать таблицу лидеров для приложения.Пользователи хранят свои «точки» в базе данных Firebase под своим идентификатором пользователя.
JSON выглядит так:
- users
- hJfEgXkyaKPckchL3kx8rpZ58Ew2
-LV6c8E5rRD4_mQqsb6Q
- name: "Lin Manuel Miranda"
- points: 120
- mlIBrdjT8CfIURQEAhLFPzzUFQg1
-LV7I6d8LeuWFLH5MRKy
- name: "Emily Blunt"
- points: 200
"mlIBrdjT8CfIURQEAhLFPzzUFQg1" и "hJfEgXkyaKPckchL3kx8rpZ58Ew2" являются соответствующими user.uid.
Как мне написать свой код, чтобы мне возвращался список их «точек» в порядке возрастания ??
Мой файл .ts и .html:
import { Component } from '@angular/core';
// firebase imports
import * as firebase from 'firebase';
import { AngularFireDatabase, AngularFireList } from '@angular/fire/database';
import { User } from 'src/models/login.interface';
import { Observable } from 'rxjs';
import { reference } from '@angular/core/src/render3';
@Component({
selector: 'app-tab1',
templateUrl: 'tab1.page.html',
styleUrls: ['tab1.page.scss']
})
export class Tab1Page {
users: Observable<any>;
constructor(
private db: AngularFireDatabase
) {
this.users = this.db.list('/users/').valueChanges();
const usersRef = firebase.database().ref('/users/');
const ref = usersRef.orderByKey();
ref.once('value').then(function(snap) {
snap.forEach(function (childSnap) {
const pkey = childSnap.key;
console.log(pkey);
});
});
}
}
<ion-content>
<div class="cards" *ngFor="let user of users | async">
<ion-card>
<ion-card-header>
<ion-card-title>{{user.name}}</ion-card-title>
<ion-card-subtitle id ="points">{{user.points}}</ion-card-subtitle>
</ion-card-header>
</ion-card>
</div>
</ion-content>
На данный момент .ts возвращает идентификаторы пользователей.
Любая помощь будет очень ценится!Спасибо.