J'ai le projet que je dois afficher un classement du top 20, et si l'utilisateur ne figure pas dans le classement, il apparaîtra à la 21ème place avec son classement actuel.
Y at-il moyen efficace pour cela?
J'utilise Cloud Firestore comme base de données. Je pense que c'était une erreur de le choisir à la place de MongoDB mais je suis au milieu du projet et je dois donc le faire avec Cloud Firestore.
L'application sera utilisée par 30K utilisateurs. Est-il possible de le faire sans obtenir tous les utilisateurs 30k?
this.authProvider.afs.collection('profiles', ref => ref.where('status', '==', 1)
.where('point', '>', 0)
.orderBy('point', 'desc').limit(20))
C’est le code que j’ai utilisé pour obtenir le top 20, mais quelle sera la meilleure pratique pour obtenir le classement actuel des utilisateurs connectés s’ils ne figurent pas dans le top 20?
Une solution qui n'a pas été mentionnée par Dan est l'utilisation de règles de sécurité combinées avec Google Cloud Functions.
Créez la carte des meilleurs scores. Exemple:
Ensuite:
Cela me semble l’option la plus facile. C'est aussi le temps réel.