1. 程式人生 > >MongoDB的導入與導出

MongoDB的導入與導出

本地 創建 數據庫 mon roo 密碼 type times mes

導入與導出可以操作本地的mongodb也可以是遠程的mongodb,通用選項:

-h host   主機
--port port    端口
-u username 用戶名
-p password   密碼

如果mongodb沒有賬戶密碼並且是從本地導可以忽略上面四個參數

導出:

使用mongodb/bin/mongoexport文件:

cd /usr/local/mongodb
./bin/mongoexport -d shop -c order -f name,content -q ‘{_id:{$lte:100}}‘ -o order.json
-d  庫名
-c  表名
-f  field1,field2...要導出的字段
-q  查詢條件
-o  導出的文件名  

默認導出的數據格式為json格式,如果為了便於和傳統數據庫交換數據想導出csv格式需要指定文件類型--csv,上面的導出命令可以修改為:

./bin/mongoexport -d shop -c order -f name,content -q ‘{_id:{$lte:100}}‘ --csv -o order.csv

導入:

./bin/mongoimport -d shop -c good --type json --file ./order.json
-d 導入的數據庫
-c 導入的表(不存在自動創建)
--type  csv | json(默認json)
--file 文件路徑

註意:當導入的文件格式為csv時,需要增加一個--headerline

,使用第一行作為字段名稱:

./bin/mongoimport -d shop -c good --type csv --headerline --file ./order.csv

二進制導出

mongodump 導出二進制bson結構的數據及json結構的索引信息

./bin/mongodump -d shop  -c order 
-d  庫名
-c  表名(不指定表默認導出全部表)
-q 查詢表達式 -o 文件路徑名(默認導出到mongodb/dump目錄下)

導出之後在mongodb/dump/databaseName/目錄下有一個.bson文件和一個.json文件  

[root@sx45a8 mongodb]# cd dump
[root@sx45a8 dump]# ls
shop
[root@sx45a8 dump]# cd shop
[root@sx45a8 shop]# ls
order.bson  order.metadata.json

二進制導入

./bin/mongorestore -d test --dir dump/shop/
-d 導入的庫名
--dir 文件目錄

二進制備份不僅可以備份數據還可以備份索引,而且備份比較小

MongoDB的導入與導出