MongoDB 聚合管道的優化與侷限

$out
將聚合管道中的文檔,寫入到一個新的集合 output 中。若是 output 已存在且有數據,則原有的數據會被清空shell

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/dbcode

相關文章
相關標籤/搜索