$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" ] }
默認狀況下,每一個管道的內存操做不能超過100M,若是容許超出的話,能夠設置 allowDiskUse
爲 true
臨時文件,默認會被寫入到 dbPath下的_tmp文件夾,dbPath的默認值爲 /data/db
code