Имена полей MapReduce (MongoDB) - PullRequest
1 голос
/ 20 марта 2012

При использовании MapReduce каждый результирующий документ структурируется следующим образом

{
    "_id"   : 123
    "value" : 99.95
}

Есть ли способ указать другие имена полей?Например, _id -> sku, value -> price.

MapReduce:

db.runCommand({
    mapreduce : "myCollection",
    map : function () {
        emit( this.sku, this.price );
    },
    reduce : function (key, values) {
        var result = Number.MAX_VALUE;
        values.forEach(function(value) {
            if (result > value) {
                result = value;
            }
        });
        return result;
    },
    out : { replace : "myReduceTest" }
});

1 Ответ

1 голос
/ 20 марта 2012

Я не верю, что есть, и мне интересно, почему вы должны изменить их? С map / lower вы можете возвращать объекты как для "_id", так и для "value", которые могут иметь поля с любыми именами, которые вы пожелаете. Смотрите примеры на http://www.mongodb.org/display/DOCS/MapReduce

...