sql >> Databasteknik >  >> NoSQL >> MongoDB

är map/reducera lämpligt för att hitta medianen och läget för en uppsättning värden för många poster?

Det finns en nyckelfråga här angående den förväntade produktionen. Det framgår inte 100 % av din fråga vilken du vill ha.

Vill du ha (A) :

{ _id: "document1", value: { mode: 1.0, median: 10.0 } }
{ _id: "document2", value: { mode: 5.0, median: 150.0 } }
... one for each document

... eller vill du ha (B) , läget och medianen över alla kombinationer av alla arrayer.

  • Om svaret är (A) , så fungerar Map/Reduce fungerar .
  • Om svaret är (B) , då kommer Map/Reduce antagligen inte att fungera .

Om du planerar att göra (A) , läs M/R-dokumentationen noggrant och förstå begränsningarna. Medan alternativ (A) kan vara en Map/Reduce, det kan också bara vara en stor for loop med en upsert på "sammanfattningssamlingen" eller till och med tillbaka till den ursprungliga samlingen. Detta kan vara ännu effektivare.



  1. Hur dumpar jag en hel MongoDB-databas som text/json?

  2. Redis - Lua-tabeller som returvärden - varför fungerar inte detta

  3. MongoDb söker efter kapslad array mellan dateTimes med hjälp av Robomongo

  4. Mongoose och löften:hur får man en rad frågeresultat?