Database

[{"_id":"1","score":200,"invalidated":false,"assigned_agent":null},{"_id":"2","score":10000,"invalidated":false,"assigned_agent":null},{"_id":"3","score":500,"invalidated":false,"assigned_agent":null}]

Query

db.collection.aggregate([{$match:{invalidated:false,assigned_agent:null}},{$sort:{score:-1,_id:-1}},{$group:{_id:0,data:{$push:"$$ROOT"}}},{$unwind:{path:"$data",includeArrayIndex:"order"}},{$replaceRoot:{newRoot:{$mergeObjects:["$data",{order:{$add:["$order",1]}}]}}}])

Result