/ / tri de données dans firebase - base de données, firebase

tri des données dans firebase - base de données, firebase

Je stocke un score pour chaque utilisateur de mon application dans firebase.

user {
name;
score;
}

Je souhaite afficher un classement avec les noms et les scores des 10 meilleurs utilisateurs (et le maintenir à jour en temps réel). Quel est le meilleur moyen d'y parvenir?

Réponses:

3 pour la réponse № 1

Consultez l'exemple de classement pour savoir comment procéder: https://www.firebase.com/tutorial/#example/leaderboard

Le principe de base est qu’en plus de définir le nom et le score dans un objet utilisateur, vous pouvez utiliser setWithPriority pour définir également une priorité pour elle. La priorité dans ce cas particulier peut être le score de l'utilisateur (s'il est numérique, il sera automatiquement trié pour vous). Vous pouvez ensuite utiliser le .limit(10) requête pour obtenir une liste des 10 meilleurs utilisateurs.

Vous devrez également mettre en œuvre le child_added, child_changed et child_removed événements pour gérer les cas d’un nouvel utilisateur entrant dans le top 10, d’une personne changeant de position et d’une personne sortant respectivement de la liste des 10 premiers.