Database

[{"time":ISODate("2013-08-27T11:19:22Z"),"service":"POST Service A HTTP/1.1","latency":403},{"time":ISODate("2013-08-27T11:19:24Z"),"service":"POST Service B HTTP/1.1","latency":1022},{"time":ISODate("2013-08-27T11:22:10Z"),"service":"POST Service A HTTP/1.1","latency":455}]

Query

db.collection.aggregate([{$setWindowFields:{partitionBy:{$dayOfMonth:"$time"},sortBy:{latency:1},output:{latencyRank:{$rank:{}},partitionLength:{$sum:1}}}},{$set:{percentile:{"$divide":["$latencyRank","$partitionLength"]}}}])

Result