sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur ändrar man strukturen för MongoDB:s kartreducerande resultat?

MapReduce returnerar endast dokument av formen {_id:some_id, value:some_value}

"some_value" behöver inte nödvändigtvis vara ett inbäddat dokument, men i de flesta fall är det för att tillåta att flera variabler beräknas med funktionen Map Reduce. Dokumenten som returneras av funktionen Reduce måste vara i samma form som de matas in, eftersom funktionen Reduce kan köras upprepade gånger för ett givet _id-värde.

För ett steg-för-steg av hur Map Reduce fungerar, se avsnittet "Extras" i MongoDB Cookbook-receptet med titeln "Finding Max And Min Values ​​with Versioned Documents" http://cookbook.mongodb.org/patterns/finding_max_and_min/ Detta bör ge en bättre förståelse för hur Map Reduce fungerar och varför utdata måste vara i formatet {_id:some_id, value:some_value}

Det är möjligt att göra en inkrementell Map Reduce, som kommer att slå samman resultaten av flera Map Reduce-funktioner.http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-IncrementalMapreduce

Slutligen är det för närvarande inte möjligt att komma åt flera samlingar samtidigt med Map Reduce. Det finns en funktionsbegäran för denna funktion, men den är inte planerad att läggas till i några kommande versioner.
https://jira.mongodb.org/browse/SERVER-970



  1. MongoDB $konvertera

  2. Redis - Användarnamn, lösenord och db?

  3. Översätt Queryable<T> tillbaka till IMongoQuery

  4. Hur man säkrar ClusterControl-servern