今天爲了在mongo本地備份一下數據,總結幾個方法。
1,Mongo 官方只提供了遠程複製clone方法,不適用本地的
db.cloneCollection('mongodb.example.net:27017','profiles',{ 'active' : true } )
2 ,遍歷插入方案
db.company.find().forEach(function(x){db.company_v1.insert(x)})
3 ,批量導入方案方案 (推薦,最快)
db.company.aggregate([{$match:{}},{$out:"company_v1"}])
這裏用到了mongo的 $out 操作符,獲取聚合管道返回的文檔並將它們寫入指定的集合。
如果當前數據庫不存在,則該操作將在當前數據庫中創建新集合
如果指定的集合已存在,則在聚合完成後,該$out 階段將使用新結果集合原子替換現有集合