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

MongoDB obtient tous les champs + tri par valeur calculée à partir de plusieurs champs

Vous pouvez utiliser $$ROOT pour référencer le document racine. Conservez tous les champs de ce document dans un champ et essayez de le récupérer ensuite (selon votre système client :Java, C++, ...)

db.someCollection.aggregate(
    {
        $project: {
            sum: { $add: [ "$value1", "$value2", "$value3" ] },
            document: "$$ROOT"
        },
        $sort: {
            sum: -1
        }
    }
)