MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment trouver le numéro de ligne d'une ligne dans une collection MongoDB triée pour calculer son centile ?

Obtenir le nombre total par db.yourCollection.count()

Ensuite, comptez les enregistrements qui ont un plus grand nombre en utilisant
db.yourCollection.find({$gte: value}).count()

Si le nombre total =1 000, comptez pour supérieur ou égal =950, alors vous avez 950/1 000 - les 95 % supérieurs

Mais si vous utilisez souvent votre collection en mode lecture et rare en mode écriture, je suggérerais de créer une nouvelle collection temporaire en utilisant MapReduce pour avoir des enregistrements {_id:..., percent:...}