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

Hvordan ændrer man strukturen af ​​MongoDBs kort-reducer resultater?

MapReduce returnerer kun dokumenter af formen {_id:some_id, value:some_value}

"some_value" behøver ikke nødvendigvis at være et indlejret dokument, men i de fleste tilfælde er det for at tillade, at flere variable kan beregnes af funktionen Map Reduce. De dokumenter, der returneres af funktionen Reducer, skal være i samme form, som de er indtastet, fordi funktionen Reducer kan køres gentagne gange for en given _id-værdi.

For et trin-for-trin af, hvordan Map Reduce fungerer, se venligst afsnittet "Ekstramateriale" i MongoDB-kogebogens opskrift med titlen "Finding af maksimale og mindste værdier med versionerede dokumenter" http://cookbook.mongodb.org/patterns/finding_max_and_min/ Dette skulle give en bedre forståelse af, hvordan Map Reduce fungerer, og hvorfor outputtet skal være i formatet {_id:some_id, value:some_value}

Det er muligt at lave en trinvis kortreduktion, som vil flette resultaterne af flere kortreduktionsfunktioner.http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-IncrementalMapreduce

Endelig er det i øjeblikket ikke muligt at få adgang til flere samlinger på én gang med Map Reduce. Der er en funktionsanmodning for denne funktion, men den er ikke planlagt til at blive tilføjet til nogen kommende versioner.
https://jira.mongodb.org/browse/SERVER-970



  1. Mongodb aggregeringspipeline, hvordan man begrænser et gruppe-push

  2. Spørg Mongodb om måned, dag, år... af en dato og klokkeslæt

  3. Slaget om NoSQL-databaserne - Sammenligning af MongoDB og Firebase

  4. Filtrering af elementer i Redis