MongoDB 聚合管道的优化与局限

$out
将聚合管道中的文档,写入到一个新的集合 output 中。如果 output 已存在且有数据,则原有的数据会被清空

db.transactions.aggregate([
    {
        $group: {
            _id: "$currency",
            symbols: {
                $push: "$symbol"
            }
        }
    },
    {
        $out: "output"
    }
])
> db.output.find()
{ "_id" : "USD", "symbols" : [ "AMZN", "AAPL" ] }
{ "_id" : "CNY", "symbols" : [ "600519" ] }

聚合操作的选项设置

  • allowDiskUse

默认情况下,每个管道的内存操作不能超过100M,如果允许超出的话,可以设置 allowDiskUse 为 true
临时文件,默认会被写入到 dbPath下的_tmp文件夹,dbPath的默认值为 /data/db

你可能感兴趣的:(mongodb)