天天看點

MongoDB資料庫備份恢複與導入導出

、mongodump/mongorestore方式

使用場景:資料庫導出指定collection,無法手工修改導出檔案(二進制)

允許條件:資料庫原始collection導入操作前可以被删除(處理方式:插入)或者保留(處理方式:删除然後插入)

導出資料格式:二進制類型,不可手工修改

1.備份資料庫指定collection

C:\Users\Administrator>mongodump -d webdb -c users -o e:\webdb_users_dump

connected to: 127.0.0.1

2014-05-08T07:23:42.047+0800 DATABASE: webdb     to     e:\webdb_users_dump\webd

b

2014-05-08T07:23:42.053+0800    webdb.users to e:\webdb_users_dump\webdb\users.b

son

2014-05-08T07:23:42.084+0800             2 documents

2014-05-08T07:23:42.084+0800    Metadata for webdb.users to e:\webdb_users_dump\

webdb\users.metadata.json

C:\Users\Administrator>

2.恢複資料庫collection

1).webdb 的users恢複操作前已經被删除

C:\Users\Administrator>mongorestore -d webdb --directoryperdb E:\webdb_users_dum

p\webdb

2014-05-08T07:36:39.530+0800 E:\webdb_users_dump\webdb\users.bson

2014-05-08T07:36:39.533+0800    going into namespace [webdb.users]

2 objects found

2014-05-08T07:36:39.536+0800    Creating index: { key: { _id: 1 }, name: "_id_",

 ns: "webdb.users" }

2).webdb 的users恢複操作前保留

C:\Users\Administrator>mongorestore -d webdb --drop --directoryperdb E:\webdb_us

ers_dump\webdb

2014-05-08T07:53:33.208+0800 E:\webdb_users_dump\webdb\users.bson

2014-05-08T07:53:33.210+0800    going into namespace [webdb.users]

2014-05-08T07:53:33.210+0800     dropping

2014-05-08T07:53:33.215+0800    Creating index: { key: { _id: 1 }, name: "_id_",

二、mongoexport/mongoimport方式

使用場景:導出資料庫指定collection,手工修改導出檔案(文本)後恢複更新

允許條件:資料庫原始collection導入操作前可以被删除(處理方式:插入)或者保留(處理方式:更新)

導出資料格式:文本類型,可修改

1.導出資料并修改

C:\Users\Administrator>mongoexport -d webdb -c users -o e:\users.json

exported 2 records

2.導入修改資料

C:\Users\Administrator>mongoimport -d webdb -c users --upsert --file e:\users.json

2014-05-08T07:20:45.949+0800 imported 2 objects

本文轉自 pgmia 51CTO部落格,原文連結:http://blog.51cto.com/heyiyi/1408178