sql >> Database teknologi >  >> NoSQL >> MongoDB

Hvordan finder man rækkenummeret på en række i en sorteret MongoDB-samling for at beregne dens percentil?

Få det samlede antal med db.yourCollection.count()

Tæl derefter post, der har et større antal ved hjælp af
db.yourCollection.find({$gte: value}).count()

Hvis samlet antal =1000, tæller for større eller lig =950, så har du fået 950/1000 - top 95%

Men hvis du bruger din samling ofte i læsetilstand og sjælden i skrivetilstand, vil jeg foreslå, at du laver en ny midlertidig indsamling ved hjælp af MapReduce for at have poster {_id:..., percent:...}



  1. Tidsstempel til dato i php og mongodb

  2. Er MongoDB et gyldigt alternativ til relationel db + lucene?

  3. Mongo Java-driveren overholder ikke grænsemetoden

  4. Hvordan laver jeg en NOT IN-forespørgsel i Mongo?