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

MongoDB Map/Reduce Array aggregeringsspørgsmål

  1. "Chunking" kommer fra din kode:din reduktionsfunktions værdiparameter kan indeholde enten {time:<timestamp>,value:<value>} udsendes fra din kortfunktion, eller {time:[<timestamps>],value:[<values]} returneret fra et tidligere opkald til din reduktionsfunktion.

  2. Jeg ved ikke, om det vil ske i praksis, men det kan ske i teorien.

  3. Du skal blot få din kortfunktion til at udsende den samme slags objekter, som din reduceringsfunktion returnerer, dvs. emit(<id>, {time: [ts], value: [P[1]]}) , og ændre din reduktionsfunktion i overensstemmelse hermed, dvs. Array.push.apply(result.time, V.time) og tilsvarende for result.value .

    Nå, jeg forstår faktisk ikke, hvorfor du ikke bruger et array af tid/værdi-par, i stedet for et par arrays, dvs. emit(<id>, { pairs: [ {time: ts, value: P[1] ] }) eller emit(<id>, { pairs: [ [ts, P[1]] ] }) i kortfunktionen og Array.push.apply(result.pairs, V.pairs) i reducere funktionen. På den måde behøver du ikke engang færdiggørelsesfunktionen (undtagen måske for at "pakke ud" arrayet fra parrene egenskab:fordi reduktionsfunktionen ikke kan returnere et array, skal du indpakke det på den måde i et objekt)




  1. MongoDB - Indeks bruges ikke ved sortering og begrænsning af forespørgsler med rækkevidde

  2. Lagring af stor fil på 100 MB i Mongodb

  3. Passport.js og Mongoose.js udfylder Bruger ved login - mister udfyldt felt på req.user

  4. Opdatering af stien 'x' ville skabe en konflikt ved 'x'