MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Oblicz medianę w ramach agregacji MongoDB

Mediana jest nieco trudna do obliczenia w ogólnym przypadku, ponieważ obejmuje sortowanie całego zestawu danych lub użycie rekursji z głębokością, która jest również proporcjonalna do rozmiaru zestawu danych. To może być powód, dla którego wiele baz danych nie ma gotowego operatora mediany (MySQL też go nie ma).

Najprostszym sposobem obliczenia mediany byłoby użycie tych dwóch instrukcji (zakładając, że atrybut, dla którego chcemy obliczyć medianę, nazywa się a i chcemy go nad wszystkimi dokumentami w kolekcji, coll ):

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

Jest to odpowiednik tego, co ludzie sugerują dla MySQL.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongod skarży się, że nie ma folderu /data/db

  2. Kiedy do Redisa? Kiedy do MongoDB?

  3. Usuń duplikat w MongoDB

  4. Jak w mongoDb usunąć element tablicy według jego indeksu?

  5. Wybierz zagnieżdżone pola w mongo db