iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
0
Software Development

今晚我想來點 Express 佐 MVC 分層架構系列 第 10

[今晚我想來點 Express 佐 MVC 分層架構] DAY 10 - 設置 MongoDB

MongoDB 是什麼?


圖片來源

MongoDB 是 文件導向(Document-oriented) 的 NoSQL 資料庫,是 NoSQL 中最熱門的,其優點如下:

  • Schema-less 的存儲結構,非常有彈性
  • 性能怪獸,Big Data 不是夢
  • 很容易擴展

而 MongoDB 的概念十分簡單,每一筆資料為一個 Document,一群 Document 為一個 Collection,下方為一個簡單的 Document 範例:

{
  name: 'HAO',
  email: 'test@gmail.com'
}

MongoDB 是以 Binary JSON (BSON) 格式 來儲存與傳輸的,Document 基本上可以當作是 JSON 格式,又因為 MongoDB 可以使用 JavaScript 進行互動,所以與 Express 十分 match!

需要自己架嗎?

如果沒有設備可以架沒有關係,MongoDB 很佛心,有提供免費的主機給大家使用,每個主機有 512 MB 的額度,對於做個小應用或是測試都還算夠用,這邊我們就以此方式來架設 MongoDB,所以先至 官方網站 申請帳號並登入。

建置 MongoDB Atlas

由於我以前就已經申請過,所以操作步驟可能會有所不同,敬請見諒

進入頁面後,點選 New Project 來建立新的專案,此時就可以替專案取個名稱:
https://ithelp.ithome.com.tw/upload/images/20200818/20119338e0kxp1EJDk.png

輸入完名稱後,會出現新增成員與權限的頁面,這邊可以直接下一步就好:
https://ithelp.ithome.com.tw/upload/images/20200818/20119338iSnNnn8hvU.png

此時會看到一個 Dashboard 的頁面,但沒有任何資料只有一個 Build a Cluster
https://ithelp.ithome.com.tw/upload/images/20200818/20119338HlIYXTDojJ.png

我們必須要建立叢集(Cluster)來使用 MongoDB,所以點下 Build a Cluster,這時候會跳出方案選擇,我是無課玩家所以選 Free:
https://ithelp.ithome.com.tw/upload/images/20200818/20119338FOVOTx3wDT.png

開始選擇雲端供應商,我選擇 Google Cloud Platform,因為主機在臺灣!
https://ithelp.ithome.com.tw/upload/images/20200818/20119338vFrLu18o2a.png

不要忘了替叢集取個名字再建立喔:
https://ithelp.ithome.com.tw/upload/images/20200818/20119338gFLn1O6xC7.png

點下建立之後會跳回 Dashboard 的頁面,此時須等待一段時間才會完整建立起來:
https://ithelp.ithome.com.tw/upload/images/20200818/20119338WyKgnOuBSn.png

https://ithelp.ithome.com.tw/upload/images/20200818/20119338tHdopBm5oe.png

接著點選畫面中的 connection,並開始設置 IP 白名單與 DB 使用者帳號密碼:
https://ithelp.ithome.com.tw/upload/images/20200818/201193385V7B6PJuo1.png

填好之後,會出現三種連線方式,這邊點選中間的選項,因為要用 Express 進行連線:

https://ithelp.ithome.com.tw/upload/images/20200818/20119338Kdst6wKRMq.png

最後會出現下方的畫面,紅框框中的資訊即為要連線的 URL,要注意的是 參數必須使用 URL encoded
https://ithelp.ithome.com.tw/upload/images/20200818/20119338fOSw8fshPb.png

這樣就完成了 MongoDB 的配置了,是不是十分簡單呢?

小結

今天的內容比較輕鬆,只需要在網頁上點一點就有了XD,下一篇就會講解如何在 Express 中連線以及對資料庫做簡單的操作,敬請期待!


上一篇
[今晚我想來點 Express 佐 MVC 分層架構] DAY 09 - Express 安全防護
下一篇
[今晚我想來點 Express 佐 MVC 分層架構] DAY 11 - 用 mongoose 連線 MongoDB
系列文
今晚我想來點 Express 佐 MVC 分層架構30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言