hot*_*ips 16 mongodb aggregation-framework
我想将聚合框架结果保存到新集合中.我知道目前使用命令本身的框架是不可能的.
shell中有解决方法吗?
Sal*_*ali 40
从Mongo 2.6.0开始,您可以本机执行此操作,无需任何其他操作.
db.<collection>.aggregate( [
{ <operation> },
{ <operation> },
...,
{ $out : "<output-collection>" }
] )
Run Code Online (Sandbox Code Playgroud)
检查新的聚合运算符$ out以获取更详细的示例.
PS使用这种方式你不限于16Mb大小.
Joh*_*yHK 21
更新:请参阅Salvador的回答,了解如何在MongoDB 2.6+中更有效地执行此操作.
将聚合结果保存在变量中,然后将其result
属性插入到新集合中:
var result = db.foo.aggregate(...);
db.bar.insert(result.result);
Run Code Online (Sandbox Code Playgroud)