Database
[{price:100},{price:15},{price:5},{price:150},{price:6,salesInfo:{sales:"1"}},{price:12,salesInfo:{sales:"1"}},]
Query
db.collection.aggregate([{$addFields:{tmpSortField:{$cond:{if:{$eq:[{$ifNull:["$salesInfo",false]},false]},then:{"$divide":[1,"$price"]},else:{$subtract:[0,"$price"]}},}}},{$sort:{tmpSortField:1}},{$unset:"tmpSortField"}])