MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Mapreduce:Reduce->Multiple wird noch nicht unterstützt

Die Dokumentation sagt "Derzeit kann der Rückgabewert einer Reduce-Funktion kein Array sein (es ist normalerweise ein Objekt oder eine Zahl)."

Erstellen Sie also stattdessen ein Objekt und wickeln Sie Ihr Array darin ein. Stellen Sie außerdem sicher, dass die Ausgabe von Reduce mit dem Eingabetyp identisch ist, sodass Sie in der Zuordnungsoperation einen ähnlichen Wert ausgeben müssen.

ABER ... warum dazu Map-Reduce verwenden? Wenn Sie den _id-Wert ausgeben, gibt es nichts zu reduzieren, da jeder Schlüssel einzigartig ist. Warum nicht einfach über die Sammlung iterieren, die Werte kopieren und jeden Datensatz einzeln aktualisieren?