在mongodb中,我可以使用
对查找输出进行排序db.orders.find().sort({ amount: -1 })
如果在我的数据库中我有字段数量和价格。 我如何通过db的两个字段的操作进行排序?类似于
db.orders.find().sort( { prices*amount/2: -1 } )
答案 0 :(得分:0)
您可以尝试使用aggregate
和$multiply
运算符,如下所示:
db.companies.aggregate([
{$project: { _id:0, name:1, prices:1, amount:1,
total: {$multiply: [ "$prices", "$amount", 0.5 ]}}},
{ $sort: {total: -1}}
]);
编辑:如果要添加数字:
db.companies.aggregate([
{$project: { _id:0, name:1, prices:1, amount:1,
mult: {$multiply: [ "$prices", "$amount", 0.5 ]} }},
{ $project: { prices:1, amount:1, total: { $add: [ "$mult", 1 ] } } },
{ $sort: {total: -1}}
]);