U kunt onderstaande aggregatie in 3.4 proberen voor aangepaste sortering.
Gebruik $add
om de upvotes en downvotes op te tellen in $addFields
om de berekende waarde te behouden als het extra veld in het document, gevolgd door $sort
sorteer op veld.
$project
met uitsluiting om het sorteerveld te laten vallen om de verwachte output te krijgen.
db.col.aggregate([
{"$addFields":{ "sort_order":{"$add":["$upvotes", "$downvotes"]}}},
{"$sort":{"sort_order":-1}},
{"$project":{"sort_order":0}}
])