Si vous n'avez pas besoin d'obtenir le placement en temps réel, la réponse de Neil Lunn est parfaite. Mais si votre application a toujours des données à insérer dans cette collection, pour les nouvelles données, vous ne pouvez pas obtenir le placement correspondant.
Voici une autre solution :
Tout d'abord, vous ajoutez un index sur le score du champ dans cette collection. Utilisez ensuite la requête db.highscores.count({score:{$gt: user's score})
. Il comptera les documents dont le score est supérieur à la cible. Ce numéro correspond à l'emplacement.