最近升級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
可以根據自己的具體需求來選擇。速度都比較快千萬級數據也就幾分鐘的事。