iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 13
2
AI & Data

與資料庫共舞系列 第 13

Day13 — 架起MongoDB囉!

  • 分享至 

  • xImage
  •  

和 MySQL 不同的地方是,我們這次不使用安裝在自己電腦上的 MongoDB,而是採用雲端的MongoDB 來做接下來幾天的介紹。

申請 MongoDB 帳號

首先我們先到 MongoDB Atlas 的官方網站 : 點我

https://ithelp.ithome.com.tw/upload/images/20200913/2012982927swNqpZa0.png

選擇右上角的 Try Free 然後註冊

https://ithelp.ithome.com.tw/upload/images/20200913/20129829pMwz6ilpkK.png

這邊可以直接選 Continue 左邊的 Skip

https://ithelp.ithome.com.tw/upload/images/20200913/20129829kEfym3lR6z.png

然後選擇免費的 cluster (左邊那個)

https://ithelp.ithome.com.tw/upload/images/20200913/20129829LYI60ywKzn.png

台灣的讀者可以選擇Google Cloud 下面台灣的伺服器,剩下的用預設的就可以了。左下角應該會顯示 Free 的字樣。確定了就可以按綠色的 Create Cluster。

https://ithelp.ithome.com.tw/upload/images/20200913/20129829DWttywk0dm.png

這時候你會看到中間有個方框被虛線圍繞,這就是他正在建構屬於你的MongoDB. 在等待之餘我們來安裝MongoDB 的 GUI.

https://ithelp.ithome.com.tw/upload/images/20200913/20129829AEeOk1vKV3.png

等她啟動完畢,介面應該會變成這樣

https://ithelp.ithome.com.tw/upload/images/20200913/20129829ZOIMn6CDom.png

安裝 MongoDB 桌面 GUI

簡單解釋一下,這個 MongoDB GUI 叫做 MongoDB Compass. 其實只是一個讓你在電腦上可以直接連線到雲端MongoDB 的小工具。我只是覺得他很幫便而且有內建的 Mongo Shell (打指令的地方) 可以一件雙雕。不然其實你硬是要直接用 MongoDB Altas 的介面也是可以。

安裝的方法就是回到剛剛我們註冊的頁面,或是使用這個傳送門。並依照你的電腦來下載適合的應用程式。這次的安裝就很簡單,下一步按到底就可以了!

https://ithelp.ithome.com.tw/upload/images/20200913/20129829kNV6smurii.png

安裝完成執行應用程式應該會長這樣

https://ithelp.ithome.com.tw/upload/images/20200913/20129829uCYM38sIX8.png

串接 桌面GUI 和雲端 Altas

來到 Altas 的頁面,選擇左邊的Connect

https://ithelp.ithome.com.tw/upload/images/20200913/20129829ylNjXrTOVC.png

我們偷懶一點直接允許從任何地方連線(右邊的選項) 並創立登入這個資料庫的使用者帳號密碼,按下上面的 Add IP Address 然後下面的 Create Database User。完成之後選擇 Choose a connection method。

https://ithelp.ithome.com.tw/upload/images/20200913/20129829pPX3YoR7hQ.png

這時候選擇最下面的 Connect using MongoDB Compass 就會看到下面這個畫面

https://ithelp.ithome.com.tw/upload/images/20200913/20129829Z1kkOqB8xE.png

我們複製那個網址列然後貼到 Compass GUI 上面,記得要把剛剛創立資料庫使用者的帳號密碼給放進網址列並按下 Connect 就大功告成了!

https://ithelp.ithome.com.tw/upload/images/20200913/20129829qqbqUaMqyN.png

匯入範例資料

我們回到網頁版的 Altas 來匯入MongoDB的範例資料。選擇 Collections並點選 Load a Sample Dataset,然後選擇 Load a Sample Dataset。他會花一些時間載入這些數據。

https://ithelp.ithome.com.tw/upload/images/20200913/20129829enIPZLxMng.png

完成之後我們可以回到 GUI 按下左邊的重新整理就會看到所有範例資料都匯入了。

https://ithelp.ithome.com.tw/upload/images/20200913/20129829GOlGmVaX7Y.png

從 RMDB 轉換到 MongoDB

即使是從 關聯式資料庫管理系統,切換到NoSQL 的 MongoDB,很多的概念是可以移轉讓你可以快速上手的。讓我們看一張用語和定義之間的比較表。在兩個系統中,我們都有資料庫,不同式的是,在資料庫裏面,我們有很多的關聯表 (Relation Tables),每一筆資料都是一列(Row/Tuple)。我們昨天有說過,MongoDB 採用的是 Key-Value Pair,所以每一筆存在MongoDB 中的資料都是一個 JSON,我們把她想成是一個文件 (Document) 而很多文件就變成了集合 (Collections)。同時,這裡的每一個 Value 對應到的就是RMDB裡面的行。

所以如果在 RMDB 裡面我們有一行寫:

('C001', 'John', 20)

那在MongoDB 就會是下面這個 Document。

{
	"_id": ObjectId("89bb475863d4719f3"),
	"customer_ID": "C001",
	"customer_name":"John",
	"age": 20
}

(影像取自 Beginners Book)

https://ithelp.ithome.com.tw/upload/images/20200913/20129829YXkl46maTw.png

所以讓我們回到範例資料中,紅色方框框起來的就是這個伺服器上的所有資料庫,橘色的地方就是這個資料庫裡面的資料集合(Collections),右手邊藍色框就是這個資料集合中的一筆文件 (Document),淺綠色則是這個文件中的一個欄位(Field)

https://ithelp.ithome.com.tw/upload/images/20200913/20129829aSjh8REwKF.png

我們可以把下面的Mongo Shell 打開

https://ithelp.ithome.com.tw/upload/images/20200913/20129829euudBuG3yO.png

這裡我分別打入了三個指令:

show dbs;

這個指令會列出這個伺服器上的資料庫,跟MySQL一樣我們透過下面的指令選擇資料庫

use sample_weatherdata;

列出資料庫中的數據集合

show collections;

最後,也是今天最重要的指令

db.data.find();

這裡我們選擇了 data 這個 collection 然後尋找。這時候的尋找我們沒有給他任何的條件,所以他會列出這個 collection 中的 document。然後你會發現這個跟上面直接用GUI點選是一樣的。我們接下來幾天的介紹會以GUI 為主,但是每次寫完完整的指令,也會用Mongo Shell 的語法完整逞現。這個原因是,當未來有一天你要串接網路應用程式,或是分析軟體,還是得用 Mongo Shell 的指令。現在我們用GUI是為了要方便了解和學習使用 MongoDB。


上一篇
Day 12 — 回到觀念,聊聊 NoSQL
下一篇
Day 14 — 今晚我想來點 MongoDB 的資料
系列文
與資料庫共舞30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言