2

私が見つけることができるすべてのMongoDBMapReduceの例では、出力は次のようにフォーマットされています。

{ "_id" : ..., "value" : { "v1" : ..., "v2" : ..., "vn" : ... } }

代わりに次のように出力をフォーマットするMapReduceコマンドを書くことが可能かどうか知りたいです:

{ "_id" : ..., "v1" : ..., "v2" : ..., "vn" : ... }

もしそうなら、これを達成するための最良の方法は何ですか?

4

1 に答える 1

1

これは、MR が実際に書き出す方法により不可能です。

値フィールドに書き出されます。ここでこの質問に適用したのと同じルールが適用されます: In MongoDB mapreduce, how can I flatten the values object? . 2 つのリンクをクリックする手間を省くために、機能の JIRA を次に示します: https://jira.mongodb.org/browse/SERVER-2517

もちろん、MR の後に何らかの後処理関数を実行してコレクションの外観を変更することもできますが、これは通常、クエリで簡単に処理できることを行うにはパフォーマンスが低く、遅い方法です。

于 2012-08-27T14:20:39.800 に答える