MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

MongoDB:Mapreduce:reduce->multiple non ancora supportato

La documentazione dice "Attualmente, il valore restituito da una funzione di riduzione non può essere un array (in genere è un oggetto o un numero)."

Quindi crea invece un oggetto e avvolgi il tuo array in quello. Assicurati anche che l'output di reduce sia lo stesso del tipo di input, quindi dovrai emettere un valore simile nell'operazione di mappatura.

MA ... perché usare Map-Reduce per fare questo? Se emetti il ​​valore _id non c'è nulla da ridurre poiché ogni chiave sarà univoca. Perché non scorrere semplicemente la raccolta copiando i valori e aggiornando ogni record uno per uno?