MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment trier avec la somme de 2 champs dans MongoDB

Vous pouvez essayer l'agrégation ci-dessous dans 3.4 pour un tri personnalisé.

Utilisez $add pour additionner les votes positifs et négatifs dans $addFields pour conserver la valeur calculée comme champ supplémentaire dans le document suivi de $sort trier sur le champ.

$project avec exclusion pour supprimer le champ de tri afin d'obtenir le résultat attendu.

db.col.aggregate([
 {"$addFields":{ "sort_order":{"$add":["$upvotes", "$downvotes"]}}}, 
 {"$sort":{"sort_order":-1}},
 {"$project":{"sort_order":0}}
])