集計フレームワークの結果を新しいコレクションに保存したいと思います。現時点では、コマンド自体ではフレームワークでは不可能です。
シェルに回避策はありますか?
更新:MongoDB 2.6以降でこれを行うためのより効率的な方法については、Salvadorの answer を参照してください。
集計結果を変数に保存してから、そのresult
プロパティを新しいコレクションに挿入します。
var result = db.foo.aggregate(...);
db.bar.insert(result.result);
Mongo 2.6.0以降、追加の操作なしでこれをネイティブに実行できます。
db.<collection>.aggregate( [
{ <operation> },
{ <operation> },
...,
{ $out : "<output-collection>" }
] )
より詳細な例については、新しい集計演算子 $ out を確認してください。
P.S。この方法を使用すると、16Mbのサイズに制限されません。
result.resultが機能しなくなった場合は、toArray()を試してください。
var result = db.coll.aggregate(...);
db.bar.insert(result.toArray());