を減らす呼び出すdoesntの一つのキー/値を一つ放ちのMongoDBのMapReduce - だから私は、一般的にMongoDBをし、MapReduceの持つ新たなんだと、この「癖」(または少なくとも私の心に癖)に出くわした
は、私は、オブジェクトを持っていると言います
{ 'キー':5 '値':5}
{ 'キー':5 '値':4}
{ 'キー' のようなので、私のコレクションで:5、 'value':1}
{ 'キー':4 '値':6}
{ 'キー':4 '値':4}
{ 'キー':3 '値が' 0}
マイマップ機能は、単にキーを放射し、値
マイ機能を減らすだけで(私は機能を減らすかどうかを確認するためにこれをしなかった1を追加し、それらを返す前の値とを追加しますはeです
{ '_id':3、'値が' 0}
{ '_id':4 '値':11.0}
)を私の結果が続くと呼ばVEN
{ '_id':5 '値':11.0}
あなたが見ることができるように、キーの4 & 5私は11のBUT番目の期待答えを得ますeキー3(そのキーを持つコレクション内の1つのエントリのみ)私は予期しない0を得る!
mapreduceのこの自然な動作は一般的ですか? MongoDBについては? pymongo(これは私が使っている)のために?
地図の縮小が設計された方法です。独自のキー(キー3など)を使用してドキュメントを修正する場合は、finalize関数の使用を検討してください。http://www.mongodb.org/display/DOCS/MapReduce#MapReduce-FinalizeFunction – Jenna
結果の単一の文書のキー??? –
@RaviKhakhkhar単一のドキュメントが結果に含まれているだけで、reduce関数は呼び出されません – Cilvic