に削減:整数、私は次のようにMongoDBでコレクションを持っているのMongoDB
{_id: {"thread": "abc"}, "value": 1}
{_id: {"thread": "cdf"}, "value": 1}
{_id: {"thread": "edf"}, "value": 1}
私は次のように出力を期待して、値のキーしようとして削減にマップしてみました:
{id_: {"value": 1}, value: 3}
MAP:
function() {
var key = {value : this.value};
emit(key, 1);
};
REDUCE:
function(key, values) {
var sum = 0;
values.forEach(function(value) {
sum += value;});
return sum;
};
EDIT大変質問:マップReduceが動作しなくなったため、もう有効ではありません。接続問題であり、Map Reduceではありませんでした。余分な情報のおかげで皆に感謝します。
残念ながら、それは仕事と次のようにいくつかの出力を与えませんでした:
{u'_id': {u'value': None}, u'value': 1160856.0}
は、整数値のキーすることができません? Mongodbのmap reduce documentationを読みましたが、キーのデータ型に関する情報が見つかりませんでした。
マップ/リダクション機能とは何ですか? – Thilo
おそらくmongo対話シェルで整数サポートが欠けているのでしょうか? http://www.mongodb.org/display/DOCS/Overview+-+The+MongoDB+Interactive+Shell#Overview-TheMongoDBInteractiveShell-SomeNotesonDetatypes inShell – Ondergetekende
を参照してください。@Thilo質問を編集して追加しました。 – codious