Du kan prøve nedenstående aggregering i 3.4 for tilpasset sortering.
Brug $add
for at summere op- og nedstemmerne i $addFields
for at beholde den beregnede værdi som det ekstra felt i dokumentet efterfulgt af $sort
sorter på felt.
$project
med udelukkelse for at droppe sorteringsfeltet for at få forventet output.
db.col.aggregate([
{"$addFields":{ "sort_order":{"$add":["$upvotes", "$downvotes"]}}},
{"$sort":{"sort_order":-1}},
{"$project":{"sort_order":0}}
])