Pro vlastní řazení můžete vyzkoušet níže uvedenou agregaci ve verzi 3.4.
Použijte $add
sečtení hlasů pro a proti v $addFields
chcete-li ponechat vypočítanou hodnotu jako další pole v dokumentu následované $sort
třídit na poli.
$project
s vyloučením zrušit třídicí pole a získat očekávaný výstup.
db.col.aggregate([
{"$addFields":{ "sort_order":{"$add":["$upvotes", "$downvotes"]}}},
{"$sort":{"sort_order":-1}},
{"$project":{"sort_order":0}}
])