2012-03-20 4 views
1

Lors de l'utilisation MapReduce, chaque document résultant est structuré comme celui-cinoms de champs MapReduce (MongoDB)

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

Y at-il un moyen de spécifier d'autres noms de champs? Par exemple. _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" } 
}); 

Répondre

1

Je ne crois pas qu'il y ait et je me demande pourquoi vous avez besoin de les changer? Avec map/reduce vous pouvez retourner des objets pour "_id" et "value" qui peuvent avoir des champs avec n'importe quel nom. Voir les exemples à http://www.mongodb.org/display/DOCS/MapReduce

Questions connexes