Database

[{_id:1,query:"A",createdAt:1660610671},{_id:2,query:"A",createdAt:1660610672},{_id:3,query:"A",createdAt:1660610673},{_id:4,query:"A",createdAt:1660610674},{_id:5,query:"B",createdAt:1660610675},{_id:6,query:"C",createdAt:1660610676},{_id:7,query:"C",createdAt:1660610677},{_id:8,query:"C",createdAt:1660610678},{_id:9,query:"D",createdAt:1660610680},{_id:10,query:"D",createdAt:1660610681}]

Query

db.collection.aggregate([/** $match stage*/{$group:{_id:"$query",frequency:{$sum:1}}},{$project:{_id:0,query:"$_id",frequency:"$frequency"}},{$setWindowFields:{partitionBy:"$_id",sortBy:{frequency:-1},output:{rank:{$rank:{}}}}},])

Result