MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да изчислим процентила?

Изглежда, че все още няма естествен начин за изчисляване на процентили, но чрез комбиниране на няколко обобщени оператора можете да получите същия резултат.

db.items.aggregate([
        {'$group': {
            '_id': {
                'league': '$league',
                'base': '$base',
                'type': '$type'
            },
            'value': {'$push': '$chaosequiv'}
        }},
        {'$unwind': '$value'},
        {'$sort': {'value': 1}},
        {'$group': {'_id': '$_id', 'value': {'$push': '$value'}}},
        {'$project': {
            '_id': 1,
            'value': {'$arrayElemAt': ['$value', {'$floor': {'$multiply': [0.25, {'$size': '$value'}]}}]}
        }}
    ], allowDiskUse=True)

Забележете, че написах оригиналния си код в pymongo за проблем, който трябваше да се групира в 3 полета в първата група, така че това може да е по-сложно от необходимото за едно поле. Бих написал конкретно решение на този въпрос, но не мисля, че има достатъчно конкретна информация.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Свързване и създаване на MongoDB присъединявания с помощта на SQL:Част 1

  2. Проблеми с MongoDB PHP UTF-8

  3. MongoDB:Копиране на масив в друг масив в същия документ

  4. Все още ли се поддържат ограниченията за уникалност на ниво поле в Mongo(ose)?

  5. MongoDB намиране и премахване – най-бързият начин