I need to get documents from collection in MongoDB. A single document looks like this:
{
name : "John Doe",
address : "Some cool address",
value1 : 2,
value2 : 3,
value3 : 5
}
I need to retrieve all fields + sort the documents descending by number equal to value1 + value2 + value3.
Only solution I found (incomplete because it doesn't retrieve all fields) looks like this:
db.someCollection.aggregate(
{
$project: {
sum: { $add: [ "$value1", "$value2", "$value3" ] }
},
$sort: {
sum: -1
}
}
)
Like I said, this returns only sum field which is not what I want.
EDIT: Also the document is a bit larger in reality so I don't want to use pseudo-solution like
$project: {
name: 1,
address: 1,
...
}
i.e. I'd like some universal reusable solution, not the case-specific one