需求是這樣的:需要修改數(shù)據(jù)庫中某個表的所有數(shù)據(jù),所以,要全部導(dǎo)出,然后修改,修改完之后,再把修改后的數(shù)據(jù)給再導(dǎo)入到mongo去。
具體如下:
備份,導(dǎo)出一張表為json文件
具體命令:
1
|
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)出的實例節(jié)點端口號
- --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ù)到一張表去
具體命令:
1
|
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)入的實例節(jié)點端口號
- --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個導(dǎo)入導(dǎo)出命令。
2,導(dǎo)入導(dǎo)出的json文件,你不要隨意換行,導(dǎo)出來的就是一行一條數(shù)據(jù),你就原封不動的給修改完直接保存,不要換行。不要使用txt這么low的編輯器啦,換個高級點的編輯器吧。
最后,附上這個命令的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:對數(shù)據(jù)進(jìn)行排序,可以通過參數(shù)指定排序的字段,并使用 1 和 -1 來指定排序的方式,其中 1 為升序排列,而-1是用于降序排列,如sort({KEY:1})。
1
2
3
4
|
#導(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< br > |
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對服務(wù)器之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
原文鏈接:https://blog.csdn.net/qq_27093465/article/details/82772444