3

人生全体でどれだけのお金を稼いだかを知る必要があるとしましょう: SQL で何をするかは次のようなものです:

select sum(salary) from employee_salary where employee_id=1000;

モンゴイド、レールを介してモンゴDBでこれを行う簡単な方法はありますか? map/reduce を使用して私に提案することさえ考えないでください。

私が見つけた最も簡単な方法は次のとおりです。

db.employee_salary.group(
    { 
        cond: { "employee_id":1000 },
        reduce: function(obj,prev) { prev.sum += obj.salary; },
        initial: { sum: 0 }
    }
)[0].sum;

でも見た目がひどすぎる…

4

1 に答える 1

14

これを試してください:

Employee.where(id: 1000).sum(:salary)
于 2012-05-09T13:36:13.963 に答える