Database
[{"_id":1.0,"sendDate":ISODate("2019-06-11T19:28:50.617Z"),"status":"scheduled"},{"_id":2.0,"sendDate":ISODate("2019-06-12T19:28:50.617Z"),"status":"sent"},{"_id":3.0,"sendDate":ISODate("2019-06-10T19:28:50.617Z"),"status":"scheduled"},{"_id":4.0,"sendDate":ISODate("2019-06-10T19:28:50.617Z"),"status":"sent"},{"_id":5.0,"sendDate":ISODate("2019-06-11T19:28:50.617Z"),"status":"error"}]
Query
db.collection.aggregate([{"$addFields":{"priority":{"$cond":{if:{$eq:["$status","scheduled"]},then:2,else:1}}}},{"$sort":{"priority":-1,"sendDate":-1}}])