Medianen är lite knepig att beräkna i det allmänna fallet, eftersom det handlar om att sortera hela datamängden, eller använda en rekursion med ett djup som också är proportionell mot datamängden storlek. Det är kanske anledningen till att många databaser inte har en medianoperator direkt (MySQL har ingen heller).
Det enklaste sättet att beräkna medianen skulle vara med dessa två påståenden (om vi antar att attributet som vi vill beräkna medianen på kallas a
och vi vill ha det över alla dokument i samlingen, coll
):
count = db.coll.count();
db.coll.find().sort( {"a":1} ).skip(count / 2 - 1).limit(1);
Detta motsvarar vad folk föreslår för MySQL.