linux下mongo數據導出導入


因業務架構調整,需對mongo中數據進行遷移,因數據量較大,可視化界面打不開,所以系統命令操作

導出

mongoexport -h 127.0.0.1 --authenticationDatabase=admin -u admin -p admin== -c dev_device_data -d iot -o devState -q'{"identifier":"PhV_phsA","deviceId":{"$in":[]},"occurredTime":{"$gte":{"$date":"2021-08-08T00:00:00.000Z"}},"occurredTime":{"$lte":{"$date":"2021-08-10T00:00:00.000Z"}}}'   --type=json 

關鍵參數說明:

  • -h,--host :代表遠程連接的數據庫地址,默認連接本地Mongo數據庫;
  • --port:代表遠程連接的數據庫的端口,默認連接的遠程端口27017;
  • -u,--username:代表連接遠程數據庫的賬號,如果設置數據庫的認證,需要指定用戶賬號;
  • -p,--password:代表連接數據庫的賬號對應的密碼;
  • -d,--db:代表連接的數據庫;
  • -c,--collection:代表連接數據庫中的集合;
  • -f, --fields:代表集合中的字段,可以根據設置選擇導出的字段;
  • --type:代表導出輸出的文件類型,包括csv和json文件;
  • -o, --out:代表導出的文件名;
  • -q, --query:代表查詢條件;
  •  --skip:跳過指定數量的數據;
  • --limit:讀取指定數量的數據記錄;
  • --sort:對數據進行排序,可以通過參數指定排序的字段,並使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用於降序排列,如sort({KEY:1})。

注意:

  當查詢時同時使用sort,skip,limit,無論位置先后,最先執行順序 sort再skip再limit。

 

 

導入

mongoimport --port 27017 -u admin -p admin -d admin -c dev_device_data  --type=json --file /root/devData

關鍵參數說明:

  • h,--host :代表遠程連接的數據庫地址,默認連接本地Mongo數據庫;
  • --port:代表遠程連接的數據庫的端口,默認連接的遠程端口27017;
  • -u,--username:代表連接遠程數據庫的賬號,如果設置數據庫的認證,需要指定用戶賬號;
  • -p,--password:代表連接數據庫的賬號對應的密碼;
  • -d,--db:代表連接的數據庫;
  • -c,--collection:代表連接數據庫中的集合;
  • -f, --fields:代表導入集合中的字段;
  • --type:代表導入的文件類型,包括csv和json,tsv文件,默認json格式;
  • --file:導入的文件名稱
  • --headerline:導入csv文件時,指明第一行是列名,不需要導入;
  • --numInsertionWorkers 100  說是可以多線程操作,實測沒有多大效果
  • --upsert 有則更新,沒有則insert


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM