Der ser stadig ikke ud til at være nogen indbygget måde at beregne percentiler på, men ved at kombinere nogle få aggregerede operatorer kan du få det samme resultat.
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)
Bemærk, at jeg skrev min originale kode i pymongo til et problem, der skulle grupperes på 3 felter i den første gruppe, så dette kan være mere komplekst end nødvendigt for et enkelt felt. Jeg ville skrive en løsning specifikt til dette spørgsmål, men jeg tror ikke, der er nok specifik information.