0

Mongodb と MapReduce は初めてですが、Mongodb と MapReduce を使ってできることが大好きで、ほとんどうまくやっています。ただし、MapReduce の結果を CSV にエクスポートするのに問題があります。

これが私がやっていることです:

var mapFunction1 = function() {
                       emit({isrc: this.isrc, country: this.country}, this.amount_payable);
                   };


var reduceFunction1 = function(keyIsrc, valuesAmountPayable) {
                        return Array.sum(valuesAmountPayable);
                    };

db.sales.mapReduce(
        mapFunction1,
        reduceFunction1,
            { out: "sales_with_total_by_country_and_isrc" }
                )

db.sales_with_total_by_country_and_isrc.find()

上記の検索を実行すると、目的の結果が表示され、ISRC、国、および値がすべて表示されます。

私は次のようにエクスポートを実行しています。私が言うように、これは問題なく実行されます。すべての列が存在しますが、ISRC や国ではなく、値の列にのみ値があります。

mongoexport --csv -d test -c sales_with_total_by_country_and_isrc -q '{value: {$ne: 0}}' -f "isrc","country","value" -o sales_with_total_by_country_and_isrc.csv

私は何を間違っていますか?私が知る限り、エクスポートしたいフィールドを -f で正しい方法で渡しています。

前もって感謝します。

4

1 に答える 1

0

わかりました、私はこれを自分で調べました。

結果のコレクションは次のようになります。

{ "_id" : { "isrc" : "", "country" : "AE" }, "value" : 0.391081 }

-f "_id.isrc","_id.country","value"mongoexport 呼び出しを呼び出す必要がありました。

これが他の人に役立つことを願っています。

于 2013-04-12T10:50:52.543 に答える