SELECT (a+b) as c FROM my_table ORDER BY c ASC;
我该如何在Mongo中按两个列的总和排序?
SELECT (a+b) as c FROM my_table ORDER BY c ASC;
如果没有额外的操作,你不能轻松地完成它。
要按任何计算值排序,您需要首先将其存储在文档中或者换句话说,您需要创建额外的字段'c',并使用每次更新/插入在其中存储a + b,然后像往常一样按'c'排序。
db.mycol.aggregate(
[{$match:{tag:"xxx"}},
{$project:{tag:1, count_a:1, count_b:1, factor:{$add: ["$count_a", "$count_b"]}}},
{$sort:{factor:-1}}]
)