sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man sorterar med summan av 2 fält i MongoDB

Du kan prova nedanstående aggregering i 3.4 för anpassad sortering.

Använd $add för att summera upp- och nedrösterna i $addFields för att behålla det beräknade värdet som det extra fältet i dokumentet följt av $sort sortera på fält.

$project med undantag för att ta bort sorteringsfältet för att få förväntad utdata.

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


  1. Mongoimport för att slå samman/upphäva fält

  2. MongoDB:Hur räknar man ett fält om dess värde matchar ett villkor?

  3. Vad är alternativet för elastisk river-mongodb-plugin, som stöds av elasticsearch 2.2.0?

  4. MongoDb C# Typade aggregationer med Group Unwind och Project