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