Ответы пользователя по тегу MapReduce
  • Как сделать отчеты по следующему JSON-у?

    @mmxdesign
    Software Engineer
    если предположим что в значение data храниться список ваших данных
    var data = [{
    "_id" : ObjectId("56e6b657753c6d890f614820"),
    "user" : ObjectId("56d9793edf03960106872e76"),
    "status" : ObjectId("56bd55d111b7ed891118a65b"),
    "created" : ISODate("2016-03-14T13:02:15.030Z"),
    "sum" : 20}, ........ ];

    тогда можно использовать функцию Reduce
    data.reduce(function (result, o) {
        var key = o.user;
        var counter = 1;
        if (!(key in result)) {
            result.arr.push(result[key] = { 
                user: o.user,
                couter: counter, 
                total: o.sum
            });
        } else {
            result[key].total += o.sum;
            counter++;
        }
        return result;
    }, { arr: [] }).arr;


    получите результат по полю юзер, и общая сумма и количество закаков
    По водителю, делаете тоже самое просто вместо user используете driver как ключ.
    var key = o.driver;

    Рабочий пример на jsFiddle
    Ответ написан