2012-03-20 4 views
1

При использовании MapReduce каждый полученный документ структурирован как этотMapReduce имена полей (MongoDB)

{ 
    "_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

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

Смежные вопросы