您好,登錄后才能下訂單哦!
環境:mongodb3.6.16二進制安裝
Mongodb中的mongoexport工具可以把一個collection導出成JSON格式或CSV格式的文件。可以通過參數指定導出的數據項,也可以根據指定的條件導出數據。
mongoexport -h IP --port 端口 -u 用戶名 -p 密碼 -d 數據庫 -c 表名 -f 字段 -q 條件導出 --csv -o 文件名
-h 指明數據庫宿主機的IP
-u 指明數據庫的用戶名
-p 指明數據庫的密碼
-d 指明數據庫的名字
-c 指明collection的名字
-f 指明要導出那些列,以逗號分割,-f uid,name,age導出uid,name,age這三個字段
-o 指明到要導出的文件名
-q 指明導出數據的過濾條件,-q '{ "uid" : "100" }' 導出uid為100的數據
--type 指定文件類型
--authenticationDatabase 驗證數據的名稱
導出整張表數據:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu -o ./1.dat
2020-01-05T11:54:48.956+0800 connected to: 127.0.0.1:6068
2020-01-05T11:54:48.956+0800 exported 3 records
[root@localhost ~]# cat 1.dat
{"_id":{"$oid":"5e0f162d1083b09e85237cb4"},"name":"小花","年級":"二年級","性別":"男","愛好":"學習"}
{"_id":{"$oid":"5e0f161d1083b09e85237cb3"},"name":"小花","年級":"二年級","性別":"男","愛好":"學習"}
{"_id":{"$oid":"5e0f16191083b09e85237cb2"},"name":"小花","年級":"二年級","性別":"男","愛好":"學習"}
導出表指定字段的數據:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu -f name,'年級','性別' -o ./2.dat
2020-01-05T11:55:41.187+0800 connected to: 127.0.0.1:6068
2020-01-05T11:55:41.187+0800 exported 3 records
[root@localhost ~]# cat 2.dat
{"_id":{"$oid":"5e0f162d1083b09e85237cb4"},"name":"小花","年級":"二年級","性別":"男"}
{"_id":{"$oid":"5e0f161d1083b09e85237cb3"},"name":"小花","年級":"二年級","性別":"男"}
{"_id":{"$oid":"5e0f16191083b09e85237cb2"},"name":"小花","年級":"二年級","性別":"男"}
導出表指定字段的csv格式數據:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu --type csv -f name,'年級' -o ./3.csv
[root@localhost ~]# cat 3.csv
name,年級
小花,二年級
小花,二年級
小花,二年級
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu --csv -f name,'年級' -o ./1.csv
2020-01-05T11:58:56.598+0800 csv flag is deprecated; please use --type=csv instead
2020-01-05T11:58:56.599+0800 connected to: 127.0.0.1:6068
2020-01-05T11:58:56.600+0800 exported 3 records
[root@localhost ~]# cat 1.csv
name,年級
小花,二年級
小花,二年級
小花,二年級
導出json格式文件,默認導出的就是json格式的數據文件:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c mumu --type json -f name,'年級' -o ./2.json
2020-01-05T12:01:28.951+0800 connected to: 127.0.0.1:6068
2020-01-05T12:01:28.951+0800 exported 3 records
[root@localhost ~]# cat 2.json
{"_id":{"$oid":"5e0f162d1083b09e85237cb4"},"name":"小花","年級":"二年級"}
{"_id":{"$oid":"5e0f161d1083b09e85237cb3"},"name":"小花","年級":"二年級"}
{"_id":{"$oid":"5e0f16191083b09e85237cb2"},"name":"小花","年級":"二年級"}
根據條件導出數據:
愛好打球的記錄數:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c chenji -q '{"愛好":"打球"}' -o ./daqiu.json
2020-01-05T12:10:21.788+0800 connected to: 127.0.0.1:6068
2020-01-05T12:10:21.788+0800 exported 2 records
[root@localhost ~]# cat daqiu.json
{"_id":{"$oid":"5e1160a3ef45ab936b74982a"},"name":"李四","年級":"一年級","性別":"女","愛好":"打球"}
{"_id":{"$oid":"5e116102ef45ab936b74982d"},"name":"趙武","年級":"五年級","性別":"男","愛好":"打球"}
Mongodb中的mongoimport工具可以把一個特定格式文件中的內容導入到指定的collection中。該工具可以導入JSON格式數據,也可以導入CSV格式數據。
參數介紹:
-h 指明數據庫宿主機的IP
-u 指明數據庫的用戶名
-p 指明數據庫的密碼
-d 指明數據庫的名字
-c 指明collection的名字
-f 指明要導出那些列
-o 指明到要導出的文件名
-q 指明導出數據的過濾條件
--drop 插入之前先刪除原有的
--headerline 指明第一行是列名,不需要導入。
-j 同時運行的插入操作數(默認為1),并行
--authenticationDatabase 驗證數據的名稱
導出數據,然后在恢復到表里面:
導出數據:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu -o ./111.bat
2020-01-05T12:46:21.264+0800 connected to: 127.0.0.1:6068
2020-01-05T12:46:21.265+0800 exported 8 records
恢復到表里面:
[root@localhost ~]# mongoimport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu --drop ./111.bat
2020-01-05T12:50:07.154+0800 connected to: 127.0.0.1:6068
2020-01-05T12:50:07.154+0800 dropping: dbtest002.fenshu
2020-01-05T12:50:07.181+0800 imported 7 documents
部分字段的表數據導入:
指定字段導出:
[root@localhost ~]# mongoexport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu --type json -f name,'年級' -o ./222.bat
2020-01-05T12:57:16.030+0800 connected to: 127.0.0.1:6068
2020-01-05T12:57:16.030+0800 exported 7 records
指定字段導入表時避免主鍵沖突,因而加參數--drop
[root@localhost ~]# mongoimport -h 127.0.0.1:6068 -u root -p TdLLQ6689 --authenticationDatabase admin -d dbtest002 -c fenshu --upsertFields name,'年級' --drop ./222.bat
2020-01-05T12:58:22.422+0800 connected to: 127.0.0.1:6068
2020-01-05T12:58:22.428+0800 imported 7 documents
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。