MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come ordinare con la somma di 2 campi in MongoDB

Puoi provare sotto l'aggregazione in 3.4 per l'ordinamento personalizzato.

Usa $add per sommare i voti positivi e negativi in ​​$addFields per mantenere il valore calcolato come campo aggiuntivo nel documento seguito da $sort ordina per campo.

$project con l'esclusione per eliminare il campo di ordinamento per ottenere l'output previsto.

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