最近升級mongodb庫的過程中遇到了資料的匯入匯出問題。查了一下,目前mongodb自帶的匯入匯出工具還是比較好用的,我操作庫的時候主要用了下面兩個:
1.匯入匯出json格式,方便解析,可以給其他業務使用
匯出:
mongoexport --host mongodb.host --port 27017 --db test_db --collection test_table --query `{collect_time:{$gte: 1540656000,$lt: 1540742400}}` --out ./res.json
匯入:
mongoimport --host mongodb.host --port 27017 --db test_db --collection test_tableB --file ./res.json
注意,該匯出匯入方式,不會把索引匯出,也不會把索引匯入,可以理解為純文字資料的匯出匯入
2.匯出匯入bson格式,這種格式是mongodb的儲存格式,只方便於mongodb的解析使用,而且會把索引頁匯出,匯入
匯出:
mongodump --host mongodb.host --port 27017 --db test_db --collection test_table --query `{collect_time:{$gte: 1540656000,$lt: 1540742400}}` --out ./
匯入:
mongorestore --host mongodb.host --port 27017 --db test_db --collection test_tableB --dir ./res.bson
可以根據自己的具體需求來選擇。速度都比較快千萬級資料也就幾分鐘的事。