sql >> データベース >  >> NoSQL >> MongoDB

MongoDB Map /ReduceArray集約の質問

    1. 「チャンキング」はコードに由来します。reduce関数のvaluesパラメーターには、{time:<timestamp>,value:<value>}のいずれかを含めることができます。 マップ関数、または{time:[<timestamps>],value:[<values]}から出力されます 前回のreduce関数の呼び出しから返されました。

    2. それが実際に起こるかどうかはわかりませんが、理論的には起こる可能性があります。

    3. map関数に、reduce関数が返すのと同じ種類のオブジェクトを出力させるだけです。つまり、emit(<id>, {time: [ts], value: [P[1]]}) 、それに応じてreduce関数を変更します。つまり、Array.push.apply(result.time, V.time) result.valueについても同様です 。

      配列のペアではなく、時間と値のペアの配列を使用していない理由を実際には理解していません。つまり、emit(<id>, { pairs: [ {time: ts, value: P[1] ] }) またはemit(<id>, { pairs: [ [ts, P[1]] ] }) map関数で、Array.push.apply(result.pairs, V.pairs) 削減機能で。そうすれば、finalize関数も必要ありません(ペアから配列を「アンラップ」する場合を除きます)。 プロパティ:reduce関数は配列を返すことができないため、オブジェクトでそのようにラップする必要があります)




    1. MongoDB集計フレームワークを使用して小数点以下第2位に四捨五入

    2. mongodbは、取得した各ドキュメントにカウンターを追加します

    3. Redisは大きな文字列を取得するのに時間がかかります

    4. アクションケーブル5にはRedisが必要ですか?