Classificação da tabela de classificação com Firebase

Eu tenho um projeto que preciso exibir uma tabela de classificação entre as 20 melhores e, se o usuário não estiver na tabela de classificação, ele aparecerá no 21º lugar com sua classificação atual.

Existe uma maneira eficiente de fazer isso?

Estou usando o Cloud Firestore como um banco de dados. Acredito que foi um erro escolhê-lo em vez do MongoDB, mas como estou no meio do projeto, devo fazê-lo com o Cloud Firestore.

O aplicativo será usado por 30 mil usuários. Existe alguma maneira de fazer isso sem obter todos os usuários de 30k?

 this.authProvider.afs.collection('profiles', ref => ref.where('status', '==', 1)
        .where('point', '>', 0)
        .orderBy('point', 'desc').limit(20))

Este é o código que eu fiz para obter os 20 primeiros, mas qual será a melhor prática para obter a classificação atual de usuários conectados, se eles não estiverem entre os 20 primeiros?

questionAnswers(2)

yourAnswerToTheQuestion