mongoシェルのmongodbでmap reduceを実行しようとしています。何らかの理由で、reduceフェーズでは、同じキー(単一のキーではなく)をいくつか呼び出すので、間違った結果が得られます。 私はこのドメインの専門家ではないので、多分私はいくつかばかげた過ちをしています。どんな助けもありがたい。mongodbのmap-reduceで同じキーを使ってReduceを何回か呼び出す
ありがとうございました。 「
var i = 0;
db.docs.drop();
while (i < 10000) {
db.docs.insert({text:"line " + i,index:i});
i++;
}
その後、私はマップが-削減モジュール10に基づいて(私は各1000を取得する以外にやってる:
私は10000件の文書を作成しています:
これは私の小さな例です
{
"results" : [
{
"_id" : 0,
"value" : 21
},
{
"_id" : 1,
"value" : 21
},
{
"_id" : 2,
"value" : 21
},
{
"_id" : 3,
"value" : 21
},
{
"_id" : 4,
"value" : 21
},
{
"_id" : 5,
"value" : 21
},
{
"_id" : 6,
"value" : 21
},
{
"_id" : 7,
"value" : 21
},
{
"_id" : 8,
"value" : 21
},
{
"_id" : 9,
"value" : 21
}
],
"timeMillis" : 76,
"counts" : {
"input" : 10000,
"emit" : 10000,
"reduce" : 500,
"output" : 10
},
"ok" : 1,
}
:
db.docs.mapReduce(
function() {
emit(this.index%10,1);
},
function(key,values) {
return values.length;
},
{
out : {inline : 1}
}
);
しかしバケット」)、結果として、私は次の取得します
多くのお客様に感謝します。私はドキュメントでこれを逃した。 – eran
ええ、マップ/リダクションはXMLのようです:シンプルに見えますが、どうにかして混乱し、落とし穴がたくさんあります: – mnemosyn