MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So sortieren Sie mit der Summe von 2 Feldern in MongoDB

Sie können die folgende Aggregation in 3.4 für eine benutzerdefinierte Sortierung ausprobieren.

Verwenden Sie $add um die Upvotes und Downvotes in $addFields zu summieren um den berechneten Wert als zusätzliches Feld im Dokument beizubehalten, gefolgt von $sort nach Feld sortieren.

$project mit Ausschluss, um das Sortierfeld zu löschen, um die erwartete Ausgabe zu erhalten.

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