MySQL資料匯入到Mongo

來源:互聯網
上載者:User

標籤:mongod   oca   div   auth   document   SQ   參數   roo   分享圖片   

背景:如題幹所述,需要將一份資料匯入到mongo資料庫,減少項目依賴的資料來源。

解決方案:

使用mongo內建的mongoimport工具。

首先在test庫裡建立一個空集合:【import_test】,起初用的匯入指令如下:

[[email protected] mongodb]# ./bin/mongoimport --host 192.168.104.178:17017 -u adminuser -p 112233 --authenticationDatabase=admin  -d test -c import_test --fields=userid,serial,create_time --type csv -file csvToMongo.csv 2018-06-11T18:47:07.075+0800    connected to: 192.168.104.178:170172018-06-11T18:47:07.083+0800    imported 15 documents

指令講解:

  • --authenticationDatabase:測試叢集使用了身分識別驗證,需要在admin庫裡登陸後,才能操作
  • -d:集合所在的庫
  • --fields:集合中的欄位名

結果發現mongo的欄位不能正常被建立,如下

 

只能換一種方式進行匯入,後來發現將欄位名稱寫到檔案後,再匯入就不會有問題,具體如下:

[[email protected] mongodb]# cat myfields.txt useridserialcreate_time

myfields檔案中儲存了這三個欄位,每行一個,然後執行匯入命令:

[[email protected] mongodb]# ./bin/mongoimport --host 192.168.104.178:17017 -u adminuser -p 112233 --authenticationDatabase=admin  -d test -c import_test --fieldFile myfields.txt --type csv --file csvToMongo.csv 2018-06-11T18:58:06.894+0800    connected to: 192.168.104.178:170172018-06-11T18:58:06.903+0800    imported 15 documents

結果如下:

最後貼上測試用的csv資料:

[[email protected] mongodb]# cat csvToMongo.csv1504165,1,2016-05-25 04:13:071504585,1,2016-05-25 04:13:071556423,1,2016-05-25 03:02:451557488,1,2016-06-30 06:51:111558460,1,2016-03-29 06:54:501508659,1,2016-05-25 05:10:151500073,1,2015-04-14 13:12:321505064,1,2016-07-01 03:51:341507204,1,2016-09-21 10:28:491506296,1,2015-09-25 04:43:571506765,1,2016-07-01 07:26:101506944,1,2016-06-30 09:36:381506162,1,2015-12-09 10:08:101506814,1,2015-12-09 13:57:071506014,1,2016-05-25 06:38:28

 注意:最後的最後,我終於知道為什麼欄位名不正常了,和mongo的指令無關,只是第一個指令最後一個參數寫的有誤,file前面只有一個橫杠“-”,如果寫兩個橫杠,也一樣有正確的結果,哈哈哈

./bin/mongoimport --host 192.168.104.178:17017 -u adminuser -p 112233 --authenticationDatabase=admin  -d test -c import_test --fields=userid,serial,create_time --type csv --file csvToMongo.csv

 說完了。

MySQL資料匯入到Mongo

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.