在mongodb中选择sum()

在mongodb中选择sum(),mongodb,mongoid,Mongodb,Mongoid,比方说,我需要知道我一生挣了多少钱: 在SQL中,我将执行以下操作: select sum(salary) from employee_salary where employee_id=1000; 在mongoDB中是否有一些简单的方法可以通过mongoid、rails来实现这一点? 甚至不要想建议我使用map/reduce 我找到的最简单的方法是: db.employee_salary.group( { cond: { "employee_id":1000 },

比方说,我需要知道我一生挣了多少钱: 在SQL中,我将执行以下操作:

select sum(salary) from employee_salary where employee_id=1000;
在mongoDB中是否有一些简单的方法可以通过mongoid、rails来实现这一点? 甚至不要想建议我使用map/reduce

我找到的最简单的方法是:

db.employee_salary.group(
    { 
        cond: { "employee_id":1000 },
        reduce: function(obj,prev) { prev.sum += obj.salary; },
        initial: { sum: 0 }
    }
)[0].sum;
但它看起来太可怕了…

试试这个:

Employee.where(id: 1000).sum(:salary)