需求:將某臺Linux上的MongoDB數(shù)據(jù)庫遷移到另一臺Linux中
步驟:導(dǎo)出mongoexport
尔崔、導(dǎo)入mongoimport
導(dǎo)出集合
MongoDB中的mongoexport
可將集合導(dǎo)出為JSON或CSV格式的文件揩晴,指的注意的CSV文件對于大部分的關(guān)系型數(shù)據(jù)庫而言是支持的浊竟。
$ mongoexport -d db -c collection -o outfile --type json/csv -f fields
-h, --host 遠(yuǎn)程連接的數(shù)據(jù)庫地址贩虾,默認(rèn)連接本地Mongo數(shù)據(jù)庫。
--port 遠(yuǎn)程連接的數(shù)據(jù)庫的端口演侯,默認(rèn)為27017.
-u, --username 連接遠(yuǎn)程數(shù)據(jù)庫的賬戶第租,若數(shù)據(jù)庫設(shè)置了認(rèn)證,需指定賬戶般眉。
-p, --password 連接遠(yuǎn)程數(shù)據(jù)庫賬戶對應(yīng)的密碼
--authenticationDatabase 認(rèn)證的數(shù)據(jù)庫
-d, --db 數(shù)據(jù)庫名稱
-c, --collection 集合名稱
-o, --out 導(dǎo)出的文件名
--type 導(dǎo)出的文件格式了赵,默認(rèn)為JSON,可選CSV甸赃、JSON柿汛。
-f, --fields 導(dǎo)出的字段,多字段以逗號分隔埠对,當(dāng)輸出格式為CSV是必須指定輸出的字段络断,CSV大部分關(guān)系型數(shù)據(jù)庫都支持。
-q, --query 查詢條件
--skip 跳過指定數(shù)量的數(shù)據(jù)
--limit 讀取指定數(shù)量的數(shù)據(jù)記錄
--sort 對數(shù)據(jù)進(jìn)行排序项玛,可指定排序的字段貌笨,使用1為升序-1為降序,如 sort({key:1})襟沮。
例如:指定查詢條件導(dǎo)出bike集合數(shù)據(jù)為CSV
$ mongoexport -p 27030 -u sa -p sa -d map -c bike -f id,lat,lng,created_at,source -o bike.csv --query='{"source":"ofo"}' --limit=1
# 導(dǎo)出集合
$ mongoexport --host 127.0.0.1 --port 27017 --username sa --password sa --authenticationDatabase game --db game --collection ap_user --type json --out ./ap_user.json
# 簡化方式
$ mongoexport -d game -c tf_game -o ./tf_game.json
導(dǎo)入集合
# 導(dǎo)入集合
$ mongoimport --host 127.0.0.1 --port 27017 --username sa --password sa --authenticationDatabase game --db game --collection ap_user --file ./tf_game.json