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

Beregn medianen i MongoDB aggregeringsramme

Medianen er noget vanskelig at beregne i det generelle tilfælde, fordi det involverer at sortere hele datasættet eller bruge en rekursion med en dybde, der også er proportional med datasættets størrelse. Det er måske grunden til, at mange databaser ikke har en medianoperator ud af boksen (MySQL har heller ikke en).

Den enkleste måde at beregne medianen på ville være med disse to udsagn (forudsat at den attribut, som vi ønsker at beregne medianen på, hedder a og vi vil have det over alle dokumenter i samlingen, coll ):

count = db.coll.count();
db.coll.find().sort( {"a":1} ).skip(count / 2 - 1).limit(1);

Dette svarer til, hvad folk foreslår til MySQL.



  1. Mongoid Group By eller MongoDb gruppe af i skinner

  2. Hvad er Map Only job i Hadoop?

  3. Konfigurer logning for MongoDB Java-driveren

  4. mongodb:hvordan kan jeg se udførelsestiden for den samlede kommando?