MongoDB------數據(.dat)到數據庫的操作(包含本地操作 和 與遠程服務器操作(^U^)ノ~YO)

window下數據庫操作

進入mongodb/bin目錄

D:\mongdb\bin

以上是我的安裝目錄,你需要找到你自己的安裝位置並進入bin目錄。

然後cmd進入該目錄,如圖:
在這裏插入圖片描述

找到.dat數據位置

例如,我想把 areas.dat 數據導入到倉庫,複製該路徑。

D:\mt-stack\dbs\areas.dat

cmd執行命令

 導入命令:D:\mongdb\bin>mongoimport -d demo -c areas D:\mt-stack\dbs\areas.dat
 導出命令:D:\mongdb\bin>mongoimport -d demo -c areas -o D:\mt-stack\dbs\areas.dat

linux下導入導出數據庫

  • 如果是採用壓縮包的形式下載的,執行方式和window方法相同;
  • 如果是採用yum等命令直接下載的可執行下面命令即可:
導入命令:mongoimport -d student -c demo D:\mt-stack\dbs\areas.dat
導出命令:mongoexport -d student -c demo -o D:\mt-stack\dbs\areas.dat

mongoimport:導入命令
demo:數據庫名稱
areas:Collections下的子數據庫
D:\mt-stack\dbs\areas.dat:數據文件完整位置
注意:一定要在mongodb安裝目錄的bin目錄下執行命令




本地和遠程服務器的數據庫的操作

  • 如果是採用壓縮包的形式下載的,要進入mongodb中的bin目錄下運行這些命令;
  • 如果是linux採用yum等命令直接下載的可執行下面命令即可:
  • 如果你在window下配置了環境變量的話,也可以直接運行下面的命令的

mongoexport導出用法

本地和遠程服務器導出操作

mongoexport --host 127.0.0.1 --port 27017 -d appdb -c T_TEST_DATA -u appuser -p appuser@2016 -o export/T_TEST_DATA.json

舉例:本地導出

//按分頁導出
mongoexport -d test -c records --sort '{a: 1}' --limit 100 --skip 100 --out export/1.json

//按查詢條件導出
mongoexport -d test -c records -q '{ a: { $gte: 3 } }' --out exportdir/myRecords.json

—— 127.0.0.1 ip地址(本地 或 服務器)
—— 27017 mongodb數據庫的端口,默認值27017
—— appdb 數據庫名稱
—— T_TEST_DATA collections下的表的名稱
—— appuser 如果設置登錄名和密碼,登錄名
—— appuser@2016 如果設置登錄名和密碼,登錄名
—— export/T_TEST_DATA.json 指定文件路徑,可自定義

參數名 參數值
host[h] 主機
port 端口
db[d] 目標數據庫
username[u] 用戶名
password[p] 密碼
authenticationDatabase 鑑權數據庫,不指定則使用database參數
collection[c] 目標Collection
query[q] 查詢過濾條件,不指定則導出全表
out[o] 目標輸出文件
type 格式類型,默認json
skip skip條件
limit limit條件
sort sort條件

mongoimport用法

本地和遠程服務器 導入操作

mongoimport 支持將json或csv格式的數據文件導入到mongodb數據庫,該命令與mongoexport結合使用。

mongoimport --host 127.0.0.1 --port 27017 -d appdb -c T_TEST_DATA_1 -u appuser -p appuser@2016 --numInsertionWorkers 50 --file export/T_TEST_DATA.json

參數說明

參數名 參數值
host[h] 主機
port 端口
db[d] 目標數據庫
username[u] 用戶名
password[p] 密碼
authenticationDatabase 鑑權數據庫,不指定則使用database參數
collection[c] 目標Collection,不指定則採用文件名稱
drop 指定該選項,則導入前刪除表
file 目標導入文件
type 格式類型,默認json
mode 導入模式,有insert、upsert、merge,默認insert
numInsertionWorkers 併發數

導入模式
upsert模式,會將已有數據替換;
merge模式,會將已有數據進行合併;

執行效率
使用insert的性能最高,建議使用;
在多核的環境中,通過numInsertionWorkers可指定併發運行,可提升一定效率。

參考數據

文件大小2.9G 採用 --mode=insert 用時3分鐘15秒

使用mongoexport 導出860W的數據記錄,文件大小2.9G,共耗時10分鐘
使用mongoimport 導入860W的數據記錄,使用--mode=insert模式,用時3分鐘15秒(numInsertionWorkers=50)
使用mongoimport 導入860W的數據記錄,使用--mode=insert模式,用時5分鐘(numInsertionWorkers=1)
使用mongoimport 導入860W的數據記錄,使用--mode=upsert模式,用時45分鐘(numInsertionWorkers=1)
使用mongodump 導出爲40s,而mongorestore爲4分鐘。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章