MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Bagaimana cara menghitung persentil?

Tampaknya masih belum ada cara asli untuk menghitung persentil, tetapi dengan menggabungkan beberapa operator agregat, Anda bisa mendapatkan hasil yang sama.

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)

Catatan Saya menulis kode asli saya di pymongo untuk masalah yang perlu dikelompokkan pada 3 bidang di grup pertama jadi ini mungkin lebih kompleks daripada yang diperlukan untuk satu bidang. Saya akan menulis solusi khusus untuk pertanyaan ini, tetapi saya rasa tidak ada informasi spesifik yang cukup.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb v4.0 Transaction, MongoError:Nomor transaksi hanya diperbolehkan pada anggota kumpulan replika atau mongo

  2. Prototipe luwak:bagaimana cara memasukkan url secara dinamis?

  3. Pencarian teks lengkap dengan bobot luwak

  4. Bagaimana cara menjalankan kueri asli MongoDB (JSON) hanya menggunakan driver mongo-java?

  5. menggunakan variabel dalam pembaruan mongodb