MongoDB使用mongoexport和mongoimport命令,批量導(dǎo)出和導(dǎo)入JSON數(shù)據(jù)到同一張表的實(shí)例
需求是這樣的:需要修改數(shù)據(jù)庫中某個(gè)表的所有數(shù)據(jù),所以,要全部導(dǎo)出,然后修改,修改完之后,再把修改后的數(shù)據(jù)給再導(dǎo)入到mongo去。
具體如下:
備份,導(dǎo)出一張表為json文件
具體命令:
mongoexport --host localhost --port 27017 --username ezsonaruser --password 123456 --collection host_locations --db ezsonar_25 --out /root/host_locations.json
解釋:
- --host 后的 localhost:要導(dǎo)出數(shù)據(jù)庫 ip
- --port 后的 27017:要導(dǎo)出的實(shí)例節(jié)點(diǎn)端口號(hào)
- --username 后的 ezsonaruser:數(shù)據(jù)庫用戶名
- --password 后的 123456:數(shù)據(jù)庫用戶密碼
- --collection 后的 widgets-test:要導(dǎo)出的表名
- --db 后的 ezsonar_25:要導(dǎo)出的表所在數(shù)據(jù)庫名
- --out 后的 /root/host_locations.json:要導(dǎo)出的文件路徑(默認(rèn)為當(dāng)前文件夾)
導(dǎo)出來后的文件,打開的樣子是醬紫的。
然后,你就可以在編輯器里面修改啦。修改完之后,再保存。保存之后就可以再導(dǎo)入到數(shù)據(jù)庫啦。
導(dǎo)入,批量插入json數(shù)據(jù)到一張表去
具體命令:
mongoimport --host localhost --port 27017 --username ezsonaruser --password 123456 --collection host_locations_test --db ezsonar_25 --file /root/shaql/host_locations.json
解釋:
- -- host 后的 localhost:要導(dǎo)入的數(shù)據(jù)庫 ip
- --port 后的 27017:要導(dǎo)入的實(shí)例節(jié)點(diǎn)端口號(hào)
- --username 后的 ezsonaruser:數(shù)據(jù)庫用戶名
- --password 后的 123456:數(shù)據(jù)庫用戶密碼
- --collection 后的 host_locations_test:要導(dǎo)入的表名
- --db 后的 ezsonar_25:要導(dǎo)入的表所在數(shù)據(jù)庫名
- --file 后的 /root/shaql/host_locations.json:要導(dǎo)入的源文件路徑(默認(rèn)為當(dāng)前文件夾)
需要注意的地方:
1,不需要進(jìn)入mongo命令行之后,就可以直接使用上面的2個(gè)導(dǎo)入導(dǎo)出命令。
2,導(dǎo)入導(dǎo)出的json文件,你不要隨意換行,導(dǎo)出來的就是一行一條數(shù)據(jù),你就原封不動(dòng)的給修改完直接保存,不要換行。不要使用txt這么low的編輯器啦,換個(gè)高級(jí)點(diǎn)的編輯器吧。
最后,附上這個(gè)命令的help說明圖
mongoimport 導(dǎo)入的help信息展示如下
mongoexport 導(dǎo)出的help信息展示如下
另:
- -f, --fields:代表集合中的字段,可以根據(jù)設(shè)置選擇導(dǎo)出的字段;
- --type:代表導(dǎo)出輸出的文件類型,包括csv和json文件;
- --skip:跳過指定數(shù)量的數(shù)據(jù);
- --limit:讀取指定數(shù)量的數(shù)據(jù)記錄;
- --sort:對(duì)數(shù)據(jù)進(jìn)行排序,可以通過參數(shù)指定排序的字段,并使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用于降序排列,如sort({KEY:1})。
#導(dǎo)出類型為json,數(shù)據(jù)庫:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,條件為source字段為ofo第一條數(shù)據(jù) mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=json -o bike.csv --query='{"source":"ofo"}' --limit=1 #導(dǎo)出類型為csv,數(shù)據(jù)庫:mapdb,集合:bike 字段:bikeId,lat,lng,current_time,source ,條件為source字段為ofo第一條數(shù)據(jù) mongoexport --port 27030 -u sa -p Expressin@0618 -d mapdb -c bike -f bikeId,lat,lng,current_time,source --type=csv -o bike.csv --query='{"source":"ofo"}' --limit=1
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
- 本文章先來給大家簡(jiǎn)單介紹關(guān)于MongoDB 數(shù)據(jù)分頁和排序 limit,skip用戶的一些基礎(chǔ)語句,然后用一個(gè)實(shí)例詳細(xì)介紹MongoDB 數(shù)據(jù)分頁和排序?qū)嵗椒ā?/div> 2014-08-08
MongoDB中數(shù)據(jù)的替換方法實(shí)現(xiàn)類Replace()函數(shù)功能詳解
這篇文章主要介紹了MongoDB中數(shù)據(jù)的替換方法實(shí)現(xiàn)類Replace()函數(shù)功能詳解,需要的朋友可以參考下2020-02-02教你使用MongoDB導(dǎo)入導(dǎo)出備份數(shù)據(jù)
這篇文章主要介紹了教你使用MongoDB導(dǎo)入導(dǎo)出備份數(shù)據(jù)方法的相關(guān)資料,需要的朋友可以參考下2022-11-11使用MongoDB進(jìn)行數(shù)據(jù)存儲(chǔ)的操作流程
在現(xiàn)代應(yīng)用開發(fā)中,數(shù)據(jù)存儲(chǔ)是一個(gè)至關(guān)重要的部分,隨著數(shù)據(jù)量的增大和復(fù)雜性的增加,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫有時(shí)難以應(yīng)對(duì)高并發(fā)和大數(shù)據(jù)量的處理需求,MongoDB作為一種高效的NoSQL數(shù)據(jù)庫,逐漸成為了開發(fā)者的首選,本文將介紹如何使用MongoDB進(jìn)行數(shù)據(jù)存儲(chǔ)2025-01-01MongoDB的主從復(fù)制及副本集的replSet配置教程
MongoDB可以在以一個(gè)主節(jié)點(diǎn)處理客戶端請(qǐng)求的情況下以其他節(jié)點(diǎn)服務(wù)器負(fù)責(zé)映射主節(jié)點(diǎn)上的數(shù)據(jù),即為我們通常所說的主從復(fù)制功能,這里我們就來共同總結(jié)MongoDB的主從復(fù)制及副本集的replSet配置教程:2016-07-07在mac系統(tǒng)下安裝與配置mongoDB數(shù)據(jù)庫
這篇文章主要介紹了在mac系統(tǒng)下安裝與配置mongoDB數(shù)據(jù)庫的操作步驟,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09最新評(píng)論