パーセンタイルを計算するネイティブな方法はまだないようですが、いくつかの集計演算子を組み合わせることで、同じ結果を得ることができます。
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)
最初のグループの3つのフィールドにグループ化する必要がある問題のために、元のコードをpymongoで記述したため、単一のフィールドに必要なコードよりも複雑になる可能性があることに注意してください。この質問に固有の解決策を書きますが、具体的な情報が十分ではないと思います。